Control.FocusState Eigenschaft

Definition

Ruft einen Wert ab, der angibt, ob dieses Steuerelement den Fokus hat, und den Modus, in dem der Fokus abgerufen wurde.

public:
 property FocusState FocusState { FocusState get(); };
FocusState FocusState();
public FocusState FocusState { get; }
var focusState = control.focusState;
Public ReadOnly Property FocusState As FocusState

Eigenschaftswert

Ein Wert aus der Enumeration. Der Wert Unfocused gibt an, dass das Steuerelement keinen Fokus hat.

Hinweise

Diese Eigenschaft unterstützt Steuerelemente, die unterschiedliche visuelle Stile verwenden, je nachdem, ob das Steuerelement über die Tastatur oder auf andere Wege fokussiert wurde. Einige Steuerelemente verwenden visuelle Zustände, die einen sichtbaren Fokusindikator anzeigen, wenn das Steuerelement durch eine Tastaturaktion fokussiert wurde, aber nicht den Indikator anzeigen, wenn das Steuerelement durch eine Zeigeraktion fokussiert wurde. Die interne Logik eines solchen Steuerelements implementiert OnGotFocus und ruft dann den Wert von FocusState vom Absender ab. Wenn FocusState Tastatur ist, wird ein anderer benannter visueller Zustand geladen, der ein Fokusrechteck enthält, indem GoToState aufgerufen wird. In der Regel werden fokusbezogene visuelle Zustände in der Standardsteuerelementvorlage XAML gruppiert. Benutzerdefinierte Steuerelemente, die je nach Fokus unterschiedliche Fokusvisuals verwenden möchten, können dieselbe Logik selbst implementieren. Siehe OnGotFocus.

Eine andere Möglichkeit, diese Eigenschaft zu verwenden, besteht darin, FocusManager zu verwenden, um zu bestimmen, welches Element in der gesamtbenutzeroberfläche den Fokus hat, und dann FocusState für dieses Element aufzurufen, um Informationen darüber zu erhalten, wie dieses Steuerelement den Fokus erhalten hat.

Hinweise zu früheren Versionen

Hinweis

Wenn FocusState programmgesteuert ist, wird in Windows 8 das Tastaturfokusvisual auch dann angezeigt, wenn die vorherige Eingabemethode zeiger war. Wenn Sie in Windows 8.1 Focus (FocusState.Programmatic) aufrufen, wird der vorherige FocusState,entweder Zeiger oder Tastatur, beibehalten, sodass das richtige Fokusvisual angezeigt wird. Wenn Sie also den Wert der FocusState-Eigenschaft überprüfen, nachdem Sie Focus (FocusState.Programmatic) aufgerufen haben, weist die FocusState-Eigenschaft entweder den Wert Zeiger oder Tastatur auf.

In einer App, die für Windows 8 kompiliert, aber in Windows 8.1 ausgeführt wird, wird das Windows 8 Verhalten beibehalten. Der Wert der FocusState-Eigenschaft ist Programmatic , und das Visual für den Tastaturfokus wird angezeigt.

Hinweis

Klassen, die von ItemsControl erben, z. B . ListBox und AutoSuggestBox, geben die FocusState-Eigenschaft nicht weiter. Sie geben immer unfokussiert zurück. Greifen Sie über RoutedEventArgs.OriginalSource auf den richtigen Wert zu.

Gilt für: