FocusManager Osztály

Definíció

Statikus módszereket, csatolt tulajdonságokat és eseményeket biztosít a fókusz hatóköreinek meghatározásához és beállításához, valamint a hatókörben lévő szűrt elem beállításához.

public ref class FocusManager abstract sealed
public static class FocusManager
type FocusManager = class
Public Class FocusManager
Öröklődés
FocusManager

Megjegyzések

A Windows megjelenítési alaprendszer (WPF) két fogalom vonatkozik a fókuszra: a billentyűzetfókuszra és a logikai fókuszra.

A billentyűzetfókusz arra az elemre vonatkozik, amely jelenleg billentyűzetbemenetet fogad. Csak egy elem lehet fókuszban a billentyűzettel. Ez a billentyűzetfókuszú elem a következőre truevan IsKeyboardFocused állítva: . Keyboard.FocusedElement A billentyűzetfókuszú elemet adja vissza.

A logikai fókusz egy adott fókusztartományon belülre vonatkozik FocusManager.FocusedElement .

A fókusztartomány egy tárolóelem, amely nyomon követi a saját tartományán belüli FocusManager.FocusedElement-t. Alapértelmezés szerint az Window osztály a fókusz hatóköre, csakúgy, mint az , ContextMenués ToolBar az Menuosztályok. A fókusz hatókörének egyik eleme a következőre truevan IsFocusScope állítva: .

Több logikai fókuszú elem is lehet, de egyetlen fókusz hatókörön belül csak egy logikai fókuszú elem lehet. A logikai fókuszú elemek nem feltétlenül rendelkeznek billentyűzetfókuszsal, de egy billentyűzetfókuszú elem logikai fókuszt kap. A fókusz hatóköre meghatározható a fókusz hatókörében. Ebben az esetben a szülőfókusz hatóköre és a gyermekfókusz hatóköre is rendelkezhet FocusManager.FocusedElement.

Az alábbi forgatókönyv bemutatja, hogyan változik WPF a billentyűzetfókusz és a logikai fókusz a WindowTextBox és MenuMenuItem rendelkező alkalmazásokban. Amikor a billentyűzetfókusz a fókuszról a TextBox fókuszra MenuItemváltozik, a billentyűzet fókusza TextBox megszűnik, de megtartja a fókusz hatókörének logikai fókuszát Window . A MenuItem billentyűzetfókusz lekérése és a fókusz hatókörének logikai fókusza Menu . Amikor a billentyűzetfókusz visszatér a gyökérhez Window, a fókusz hatókörének Window logikai fókuszú eleme megkapja a billentyűzetfókuszt, amely ebben az esetben a TextBox. Most TextBox már billentyűzetfókusz és logikai fókusz. A MenuItem fókusz elveszíti a billentyűzet fókuszát, de megtartja a fókusz hatókörének logikai fókuszát Menu .

A , , és az alapértelmezett érték IsFocusScopeWindow.trueContextMenuToolBarMenu

A fókuszról további információt a Bemenet áttekintése és a Fókusz áttekintése című témakörben talál.

Mezők

Name Description
FocusedElementProperty

Azonosítja a FocusedElement csatolt tulajdonságot.

GotFocusEvent

Azonosítja a GotFocus csatolt eseményt.

IsFocusScopeProperty

Azonosítja a IsFocusScope csatolt tulajdonságot.

LostFocusEvent

Azonosítja a LostFocus csatolt eseményt.

Hozzácsatolt tulajdonságok

Name Description
FocusedElement

Meghatározza, hogy a tulajdonsághoz csatolt elem rendelkezik-e logikai fókuszokkal.

IsFocusScope

Meghatározza, hogy a tulajdonsághoz csatolt elem fókuszhatókör-e.

Metódusok

Name Description
AddGotFocusHandler(DependencyObject, RoutedEventHandler)

Hozzáad egy kezelőt a GotFocus csatolt eseményhez.

AddLostFocusHandler(DependencyObject, RoutedEventHandler)

Hozzáad egy kezelőt a LostFocus csatolt eseményhez.

GetFocusedElement(DependencyObject)

Lekéri a logikai fókuszú elemet a megadott fókusztartományon belül.

GetFocusScope(DependencyObject)

Meghatározza a megadott elem legközelebbi elődét, amely a következőre truevan IsFocusScope állítva: .

GetIsFocusScope(DependencyObject)

Meghatározza, hogy a megadott DependencyObject fókusz hatókör-e.

RemoveGotFocusHandler(DependencyObject, RoutedEventHandler)

Eltávolít egy kezelőt a GotFocus csatolt eseményhez.

RemoveLostFocusHandler(DependencyObject, RoutedEventHandler)

Eltávolít egy kezelőt a LostFocus csatolt eseményhez.

SetFocusedElement(DependencyObject, IInputElement)

Logikai fókusz beállítása a megadott elemre.

SetIsFocusScope(DependencyObject, Boolean)

Fókusz hatókörként állítja be a megadott DependencyObject értéket.

Hozzácsatolt események

Name Description
GotFocus

Akkor fordul elő, ha egy elem fókuszba kerül.

LostFocus

Akkor fordul elő, ha egy elem elveszíti a fókuszt.

A következőre érvényes: