ContentElement.Focus Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Pokusí se nastavit fokus na tento prvek.
public:
virtual bool Focus();
public bool Focus ();
abstract member Focus : unit -> bool
override this.Focus : unit -> bool
Public Function Focus () As Boolean
Návraty
true
Pokud lze fokus klávesnice nastavit na tento prvek; false
Pokud volání této metody nevynucuje fokus.
Implementuje
Příklady
Následující příklad je obslužná rutina události načtená stránkou, která najde zadaný pojmenovaný odstavec v dokumentu a nastaví na něj fokus. Odstavce nejsou ve výchozím nastavení fokusovatelné; u tohoto konkrétního odstavce byl použit styl (který se nezobrazuje), který používal styl Setter k tomu, aby byl fokusitelný.
void FocusOnParagraph(object sender, RoutedEventArgs e)
{
ContentElement ce = this.FindName("focusableP") as ContentElement;
ce.Focus();
}
Private Sub FocusOnParagraph(ByVal sender As Object, ByVal e As RoutedEventArgs)
Dim ce As ContentElement = TryCast(Me.FindName("focusableP"), ContentElement)
ce.Focus()
End Sub
Poznámky
Aby bylo možné se zaměřit, Focusable musí IsEnabled být true
obě hodnoty . Všimněte si, že téměř všechny ContentElement odvozené třídy nejsou Focusable ve výchozím nastavení.
I v případě, že je prvek aktivní a povolený, zpracování událostí v rámci konkrétního stromu (například u složeného ovládacího prvku) může reagovat na události fokusu náhledu tím, že nepovolí fokus tam, takže tato metoda vrátí false
.
Fokus se obecně řídí dvěma samostatnými koncepty: fokusem klávesnice a logickým fokusem, které nejsou vždy identické. Tato metoda nastaví logický fokus. Neexistuje žádný programový způsob, jak nastavit fokus klávesnice zvlášť; fokus klávesnice je určen uživatelským vstupem. Další informace najdete v tématech Přehled fokusu a Přehled vstupu.
Pokud volání Focus vrátí true
, IsKeyboardFocused a IsKeyboardFocusWithin jsou také true
.
Pokud související vlastnosti ještě true
nejsou , při volání Focusse vygenerují některé z následujících událostí v následujícím pořadí: PreviewLostKeyboardFocus, PreviewGotKeyboardFocus (zdroj je nový cíl fokusu), IsKeyboardFocusedChanged, , IsKeyboardFocusWithinChanged, LostKeyboardFocusGotKeyboardFocus (zdroj je nový cíl fokusu).