Control.FocusState Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene un valore che specifica se questo controllo ha lo stato attivo e la modalità in base alla quale è stato ottenuto lo stato attivo.
public:
property FocusState FocusState { FocusState get(); };
FocusState FocusState();
public FocusState FocusState { get; }
var focusState = control.focusState;
Public ReadOnly Property FocusState As FocusState
Valore della proprietà
Valore dell'enumerazione. Il valore Unfocused indica che il controllo non ha lo stato attivo.
Commenti
Questa proprietà supporta i controlli che usano stili visivi diversi a seconda che il controllo sia stato incentrato dalla tastiera o da altri mezzi. Alcuni controlli usano gli stati visivi che mostrano un indicatore dello stato attivo visibile se il controllo è stato incentrato da un'azione della tastiera, ma non mostra l'indicatore se il controllo è stato attivo da un'azione puntatore. La logica interna di tale controllo implementa OnGotFocus e quindi ottiene il valore di FocusState dal mittente. Se FocusState è Tastiera, viene caricato un diverso stato visivo denominato che include un rettangolo di stato attivo chiamando GoToState. In genere, gli stati visivi correlati allo stato attivo vengono raggruppati insieme nel modello di controllo predefinito XAML. I controlli personalizzati che vogliono usare oggetti visivi dello stato attivo diversi a seconda dei mezzi di messa a fuoco possono implementare questa stessa logica. Vedere OnGotFocus.
Un altro modo per usare questa proprietà consiste nell'usare FocusManager per determinare quale elemento nell'interfaccia utente generale ha lo stato attivo e quindi chiamare FocusState su tale elemento per ottenere informazioni su come tale controllo ha ricevuto lo stato attivo.
Note per le versioni precedenti
Nota
In Windows 8, quando FocusState è Programmatic, l'oggetto visivo dello stato attivo della tastiera viene visualizzato anche se il metodo precedente di input era puntatore. In Windows 8.1, quando si chiama FocusState.Programmatic, il precedente FocusState, puntatore otastiera, viene mantenuto in modo che venga visualizzato l'oggetto visivo dello stato attivo corretto. Ciò significa che se si controlla il valore della proprietà FocusState dopo aver chiamato FocusState.Programmatic, la proprietà FocusState.Programmatic avrà un valore di Puntatore o Tastiera.
In un'app compilata per Windows 8, ma eseguita in Windows 8.1, il comportamento di Windows 8 viene mantenuto. Il valore della proprietà FocusState è a livello di codice e viene visualizzato l'oggetto visivo dello stato attivo della tastiera.
Nota
Le classi che ereditano da ItemsControl, ad esempio ListBox e AutoSuggestBox, non propagano la proprietà FocusState. Restituiranno sempre Unfocus. Accedere al valore corretto tramite RoutedEventArgs.OriginalSource.