FocusManager Třída

Definice

Poskytuje sadu statických metod, připojených vlastností a událostí pro určení a nastavení oborů fokusu a pro nastavení prioritního prvku v rámci oboru.

public ref class FocusManager abstract sealed
public static class FocusManager
type FocusManager = class
Public Class FocusManager
Dědičnost
FocusManager

Poznámky

Ve Windows Presentation Foundation (WPF) existují dva koncepty týkající se fokusu: fokus klávesnice a logický fokus.

Fokus klávesnice se týká prvku, který aktuálně přijímá vstup klávesnice. Fokus klávesnice může obsahovat jenom jeden prvek. Tento prvek s fokusem klávesnice je IsKeyboardFocused nastavený na true. Keyboard.FocusedElement vrátí prvek s fokusem klávesnice.

Logický fokus se vztahuje k určitému rozsahu FocusManager.FocusedElement fokusu.

Fokusový rozsah je kontejnerový prvek, který sleduje FocusManager.FocusedElement ve svém rozsahu. Ve výchozím nastavení Window je třída rozsah fokusu Menu, jako jsou , ContextMenua ToolBar třídy. Prvek, který je rozsah fokusu nastaven IsFocusScope na true.

S logickým fokusem může být více prvků, ale v rámci jednoho oboru fokusu může být pouze jeden prvek s logickým fokusem. Prvek s logickým fokusem nemusí nutně obsahovat fokus klávesnice, ale prvek s fokusem klávesnice bude mít logický fokus. Rozsah fokusu je možné definovat v rámci oboru fokusu. V tomto případě může mít nadřazený rozsah fokusu i podřízený obor fokusu .FocusManager.FocusedElement

Následující scénář ukazuje, jak se fokus klávesnice a logická změna fokusu v aplikaci WPF, která má WindowTextBox a MenuMenuItem. Když se fokus klávesnice změní z fokusu TextBoxMenuItemna klávesnici , TextBox ztráta fokus klávesnice, ale zachová logický fokus pro rozsah fokusu Window . Získá MenuItem fokus klávesnice a získá logický fokus pro rozsah fokusu Menu . Když se fokus klávesnice vrátí do kořenového adresáře Window, prvek v Window oboru fokusu s logickým fokusem získá fokus klávesnice, což je TextBoxv tomto případě . Teď TextBox je fokus klávesnice a logický fokus. Ztratí MenuItem fokus klávesnice, ale zachová logický fokus pro rozsah fokusu Menu .

Výchozí hodnota parametru IsFocusScopeWindow, Menu, ToolBara ContextMenu je true.

Další informace o fokusu najdete v přehledu vstupu a přehledu fokusu.

Pole

Name Description
FocusedElementProperty

Identifikuje připojenou FocusedElement vlastnost.

GotFocusEvent

Identifikuje připojenou GotFocus událost.

IsFocusScopeProperty

Identifikuje připojenou IsFocusScope vlastnost.

LostFocusEvent

Identifikuje připojenou LostFocus událost.

Přidružené vlastnosti

Name Description
FocusedElement

Určuje, zda prvek, ke kterému je tato vlastnost připojena, má logický fokus.

IsFocusScope

Určuje, zda prvek, ke kterému je tato vlastnost připojena, je rozsah fokusu.

Metody

Name Description
AddGotFocusHandler(DependencyObject, RoutedEventHandler)

Přidá obslužnou rutinu pro připojenou GotFocus událost.

AddLostFocusHandler(DependencyObject, RoutedEventHandler)

Přidá obslužnou rutinu pro připojenou LostFocus událost.

GetFocusedElement(DependencyObject)

Získá prvek s logickým fokusem v rámci zadaného oboru fokusu.

GetFocusScope(DependencyObject)

Určuje nejbližšího nadřazeného prvku zadaného prvku, který je IsFocusScope nastaven na true.

GetIsFocusScope(DependencyObject)

Určuje, zda je zadaný DependencyObject obor fokusu.

RemoveGotFocusHandler(DependencyObject, RoutedEventHandler)

Odebere obslužnou rutinu GotFocus připojené události.

RemoveLostFocusHandler(DependencyObject, RoutedEventHandler)

Odebere obslužnou rutinu LostFocus připojené události.

SetFocusedElement(DependencyObject, IInputElement)

Nastaví logický fokus na zadaný prvek.

SetIsFocusScope(DependencyObject, Boolean)

Nastaví zadaný DependencyObject obor fokusu.

Přidružené události

Name Description
GotFocus

Nastane, když prvek dostane fokus.

LostFocus

Nastane, když prvek ztratí fokus.

Platí pro