ContentElement.Focus Metoda

Definicja

Próbuje ustawić fokus na ten element.

C#
public bool Focus();

Zwraca

true jeśli fokus klawiatury może być ustawiony na ten element; false jeśli to wywołanie metody nie wymusi fokusu.

Implementuje

Przykłady

Poniższy przykład to program obsługi zdarzeń ładowany do strony, który znajduje określony nazwany akapit w dokumencie i ustawia fokus na niego. Akapity nie są domyślnie fokusem; ten konkretny akapit miał zastosowany styl (nie pokazany), który używał stylu Setter , aby był uchwalony w trybie koncentracji uwagi.

C#
void FocusOnParagraph(object sender, RoutedEventArgs e)
{
  ContentElement ce = this.FindName("focusableP") as ContentElement;
  ce.Focus();
}

Uwagi

Aby można było się skupić, Focusable i IsEnabled musi to być truezarówno . Należy pamiętać, że prawie wszystkie ContentElement klasy pochodne nie Focusable są domyślnie.

Nawet jeśli element jest fokusowy i włączony, obsługa zdarzeń w określonym drzewie (na przykład w przypadku kontrolki złożonej) może reagować na zdarzenia fokusu podglądu, nie zezwalając na fokus w tym miejscu, dlatego ta metoda zwróci wartość false.

Fokus w ogóle podlega dwóm osobnym koncepcjom: fokusowi klawiatury i fokusowi logicznemu, które nie zawsze są identyczne. Ta metoda ustawia fokus logiczny. Nie ma żadnych metod programistycznych, aby ustawić fokus klawiatury specjalnie; fokus klawiatury zależy od danych wejściowych użytkownika. Aby uzyskać więcej informacji, zobacz Omówienie fokusu i Omówienie danych wejściowych.

Jeśli wywołanie Focus zwraca truewartość , IsKeyboardFocused i IsKeyboardFocusWithin są również true.

Jeśli powiązane właściwości nie są jeszcze true, podczas wywoływania Focusmetody jest wywoływane co najmniej jedno z następujących zdarzeń w następującej kolejności: PreviewLostKeyboardFocus, PreviewGotKeyboardFocus (źródło jest nowym obiektem docelowym fokusu), IsKeyboardFocusedChanged, IsKeyboardFocusWithinChanged, LostKeyboardFocus( GotKeyboardFocus źródłem jest nowy element docelowy fokusu).

Dotyczy

Produkt Wersje
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

Zobacz też