2009-08-24 15 views

risposta

21

vedi Focus Overview

focus tastiera riferisce all'elemento correntemente ricevendo input dalla tastiera. Può esserci un solo elemento nell'intero desktop con lo stato attivo della tastiera. In WPF, l'elemento con messa a fuoco tastiera avrà IsKeyboardFocused impostato su true. La proprietà statica FocusedElement sulla classe Keyboard ottiene l'elemento che attualmente è con lo stato attivo della tastiera.

La messa a fuoco logica fa riferimento a FocusManager.FocusedElement in ambito focus . Un ambito di messa a fuoco è un elemento che tiene traccia dello FocusedElement all'interno del suo ambito. Quando la messa a fuoco della tastiera lascia un campo di messa a fuoco , l'elemento attivo perderà l'attenzione della tastiera ma manterrà lo stato logico . Quando la messa a fuoco della tastiera ritorna allo scope di messa a fuoco, l'elemento focalizzato otterrà il focus della tastiera. Ciò consente di spostare la messa a fuoco della tastiera tra più aree di messa a fuoco ma assicura che l'elemento focalizzato nell'area di messa a fuoco riacquisti lo stato attivo della tastiera quando lo stato attivo ritorna all'ambito di messa a fuoco.

6

Ho trovato una buona serie di post sul blog su Focus WPF.

  1. Part1ItsBasicallyFocus

  2. Part2ChangingWPFFocusInCode

  3. Part3ShiftingFocusToTheFirstAvailableElementInWPF

Sono tutti bene leggere, ma la prima parte si occupa specificamente di logica vs attivo della tastiera. La terza parte mostra un buon modo per impostare lo stato attivo su un elemento dell'interfaccia utente in un controllo utente.

+2

Questi articoli sono stati spostati e possono essere trovati al seguente indirizzo: http://julmar.com/blog/mark/?p=52 http://julmar.com/blog/mark/?p=51 http : //julmar.com/blog/mark/? p = 50 – mtlynch

+1

Le risposte di solo collegamento sono suscettibili al link-rot. – ANeves

Problemi correlati