UIElement.Focus Método

Definição

Tenta definir o foco para esse elemento.

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

Retornos

true se o foco do teclado e o foco lógico foram definidos para esse elemento; false somente se o foco lógico foi definido para esse elemento ou se a chamada para esse método não forçou a mudança de foco.

Implementações

Exemplos

O exemplo a seguir define o foco para um TextBox referenciado por Namee, em seguida, ajusta a posição do cursor dentro do 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

Comentários

Para ser focalizável e FocusableIsEnabled ambos devem ser true.

Mesmo que o elemento seja focalizável e válido, os Focus eventos de visualização podem ser processados em uma árvore específica e o foco nesse elemento pode não ser permitido (por exemplo, em um controle composto). Nesse caso, esse método retorna false.

Em geral, o foco é controlado por dois conceitos diferentes: foco no teclado e foco lógico. Esses dois conceitos nem sempre são os mesmos. Para obter mais informações, consulte Resumo de foco e Visão geral da entrada.

Se a chamada Focus retornar true, IsKeyboardFocused e IsKeyboardFocusWithin também trueforem .

Se as propriedades relacionadas ainda truenão forem , quando você chamar Focus, um ou mais dos seguintes eventos serão gerados na seguinte ordem: PreviewLostKeyboardFocus, PreviewGotKeyboardFocus (a origem é o novo destino de foco), IsKeyboardFocusedChanged, IsKeyboardFocusWithinChanged, LostKeyboardFocus, GotKeyboardFocus (a origem é o novo destino de foco).

Para que essa chamada seja bem-sucedida, algum outro elemento no aplicativo precisava ter o foco anteriormente.

Aplica-se a