Sdílet prostřednictvím


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

V 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ý právě přijímá vstup z 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 týká rozsahu konkrétního fokusu FocusManager.FocusedElement .

Obor fokusu je prvek kontejneru, který sleduje FocusManager.FocusedElement jeho rozsah. Ve výchozím nastavení Window je třída oborem fokusu Menu, stejně jako třídy , ContextMenua ToolBar . Prvek, který je oborem fokusu, je IsFocusScope nastavený na true.

Může existovat více prvků s logickým fokusem, ale v jednom oboru fokusu může být jenom jeden prvek s logickým fokusem. Prvek s logickým fokusem nemusí nutně mít 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ý obor fokusu i podřízený obor fokusu FocusManager.FocusedElement.

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

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

Další informace o fokusu najdete v tématu Přehled vstupu a Přehled fokusu.

Pole

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

FocusedElement

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

IsFocusScope

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

Metody

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á element s logickým fokusem v zadaném oboru fokusu.

GetFocusScope(DependencyObject)

Určuje nejbližší nadřazený prvek zadaného prvku, který má IsFocusScope nastavenou hodnotu true.

GetIsFocusScope(DependencyObject)

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

RemoveGotFocusHandler(DependencyObject, RoutedEventHandler)

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

RemoveLostFocusHandler(DependencyObject, RoutedEventHandler)

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

SetFocusedElement(DependencyObject, IInputElement)

Nastaví logický fokus na zadaný prvek.

SetIsFocusScope(DependencyObject, Boolean)

Nastaví zadanou DependencyObject hodnotu jako obor fokusu.

Přidružené události

GotFocus

Nastane, když prvek získá fokus.

LostFocus

Nastane, když prvek ztratí fokus.

Platí pro