Udostępnij za pośrednictwem


FocusManager Klasa

Definicja

Udostępnia zestaw metod statycznych, dołączonych właściwości i zdarzeń do określania i ustawiania zakresów fokusu oraz ustawiania elementu ukierunkowanego w zakresie.

public ref class FocusManager abstract sealed
public static class FocusManager
type FocusManager = class
Public Class FocusManager
Dziedziczenie
FocusManager

Uwagi

W Windows Presentation Foundation (WPF) istnieją dwie koncepcje dotyczące koncentracji uwagi: fokus klawiatury i fokus logiczny.

Fokus klawiatury odnosi się do elementu, który obecnie odbiera dane wejściowe klawiatury. Może istnieć tylko jeden element z fokusem klawiatury. Ten element z fokusem klawiatury ma IsKeyboardFocused ustawioną wartość true. Keyboard.FocusedElement Zwraca element z fokusem klawiatury.

Fokus logiczny odnosi się do FocusManager.FocusedElement określonego zakresu fokusu.

Zakres fokusu to element kontenera, który śledzi FocusManager.FocusedElement zakres w jego zakresie. Domyślnie Window klasa jest zakresem fokusu Menu, podobnie jak klasy , ContextMenui ToolBar . Element, który jest zakresem fokusu, ma IsFocusScope ustawioną wartość true.

Może istnieć wiele elementów z fokusem logicznym, ale w jednym zakresie fokusu może znajdować się tylko jeden element z fokusem logicznym. Element z fokusem logicznym nie musi mieć fokusu klawiatury, ale element z fokusem klawiatury będzie miał fokus logiczny. Istnieje możliwość zdefiniowania zakresu fokusu w zakresie fokusu. W takim przypadku zarówno zakres fokusu nadrzędnego, jak i zakres fokusu podrzędnego mogą mieć FocusManager.FocusedElementwartość .

W poniższym scenariuszu pokazano, w jaki sposób fokus klawiatury i logiczna zmiana fokusu w aplikacji WPF, która ma Window element z elementem TextBox i z elementem MenuMenuItem. Gdy fokus klawiatury zmienia się z TextBox na MenuItem, straty fokus klawiatury, TextBox ale zachowuje fokus logiczny dla zakresu fokusu Window . Funkcja MenuItem uzyskuje fokus klawiatury i uzyskuje fokus logiczny dla zakresu fokusu Menu . Gdy fokus klawiatury powróci do katalogu głównego Window, element w Window zakresie fokusu z fokusem logicznym uzyska fokus klawiatury, co w tym przypadku jest TextBox. Teraz TextBox ma fokus klawiatury i fokus logiczny. Funkcja MenuItem traci fokus klawiatury, ale zachowuje fokus logiczny dla zakresu fokusu Menu .

Wartość domyślna IsFocusScope dla wartości Window, , MenuToolBari ContextMenu to true.

Aby uzyskać więcej informacji na temat fokusu, zobacz Omówienie danych wejściowych i Omówienie fokusu.

Pola

FocusedElementProperty

Identyfikuje dołączoną FocusedElement właściwość.

GotFocusEvent

GotFocus Identyfikuje dołączone zdarzenie.

IsFocusScopeProperty

Identyfikuje dołączoną IsFocusScope właściwość.

LostFocusEvent

LostFocus Identyfikuje dołączone zdarzenie.

Właściwości dołączone

FocusedElement

Określa, czy element, do których jest dołączona ta właściwość, ma fokus logiczny.

IsFocusScope

Określa, czy element, do których jest dołączona ta właściwość, jest zakresem fokusu.

Metody

AddGotFocusHandler(DependencyObject, RoutedEventHandler)

Dodaje procedurę obsługi dla dołączonego GotFocus zdarzenia.

AddLostFocusHandler(DependencyObject, RoutedEventHandler)

Dodaje procedurę obsługi dla dołączonego LostFocus zdarzenia.

GetFocusedElement(DependencyObject)

Pobiera element z fokusem logicznym w określonym zakresie fokusu.

GetFocusScope(DependencyObject)

Określa najbliższy element nadrzędny określonego elementu, który ma IsFocusScope ustawioną wartość true.

GetIsFocusScope(DependencyObject)

Określa, czy określony DependencyObject zakres jest zakresem fokusu.

RemoveGotFocusHandler(DependencyObject, RoutedEventHandler)

Usuwa procedurę obsługi dołączonego GotFocus zdarzenia.

RemoveLostFocusHandler(DependencyObject, RoutedEventHandler)

Usuwa procedurę obsługi dołączonego LostFocus zdarzenia.

SetFocusedElement(DependencyObject, IInputElement)

Ustawia fokus logiczny dla określonego elementu.

SetIsFocusScope(DependencyObject, Boolean)

Ustawia określony DependencyObject jako zakres fokusu.

Zdarzenia dołączone

GotFocus

Występuje, gdy element staje się fokusem.

LostFocus

Występuje, gdy element traci fokus.

Dotyczy