FocusManager Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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 |
| 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. |