Condividi tramite


UIElement.Focus Metodo

Definizione

Tenta di impostare lo stato attivo su questo elemento.

public:
 virtual bool Focus();
public bool Focus ();
abstract member Focus : unit -> bool
override this.Focus : unit -> bool
Public Function Focus () As Boolean

Restituisce

true se lo stato attivo della tastiera e lo stato attivo logico sono stati impostati su questo elemento; false se solo lo stato attivo logico è stato impostato su questo elemento, oppure se la chiamata a questo metodo non ha forzato la modifica dello stato attivo.

Implementazioni

Esempio

Nell'esempio seguente lo stato attivo viene impostato su un TextBox riferimento da Namee quindi viene modificata la posizione del cursore all'interno di TextBox.

void OnClickMoveToStart(object sender, RoutedEventArgs e)
{
    tbPositionCursor.Focus();
    tbPositionCursor.Select(0, 0);
}
Private Sub OnClickMoveToStart(ByVal sender As Object, ByVal e As RoutedEventArgs)

    tbPositionCursor.Focus()
    tbPositionCursor.Select(0, 0)

End Sub

Commenti

Per essere attivabile Focusable e IsEnabled devono essere trueentrambi .

Anche se l'elemento è attivabile e valido, gli Focus eventi di anteprima possono essere elaborati in un albero specifico e concentrarsi su tale elemento potrebbe non essere consentito (ad esempio, in un controllo composito). In questo caso, questo metodo restituisce false.

In generale, lo stato attivo è controllato da due concetti diversi: lo stato attivo della tastiera e lo stato attivo logico. Questi due concetti non sono sempre uguali. Per altre informazioni, vedere Riepilogo dello stato attivo e Panoramica dell'input.

Se la chiamata restituisce Focustrue, IsKeyboardFocused e IsKeyboardFocusWithin sono anche true.

Se le proprietà correlate non sono già true, quando si chiama Focus, uno o più degli eventi seguenti vengono generati nell'ordine seguente: PreviewLostKeyboardFocus, PreviewGotKeyboardFocus (l'origine è la nuova destinazione dello stato attivo), IsKeyboardFocusedChanged, IsKeyboardFocusWithinChanged, LostKeyboardFocus, GotKeyboardFocus (origine è la nuova destinazione dello stato attivo).

Affinché questa chiamata abbia esito positivo, un altro elemento nell'applicazione deve avere lo stato attivo in precedenza. Inoltre, quando un elemento contenitore padre chiama questo metodo, in determinate situazioni l'elemento figlio ottiene lo stato attivo e il valore restituito sarà false. Per verificare se l'elemento ha lo stato attivo, usare le IsKeyboardFocusWithin proprietà e IsKeyboardFocused .

Si applica a