Ler em inglês

Compartilhar via


UIElement.Focus Método

Definição

Tenta definir o foco para esse elemento.

C#
public bool Focus();

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.

C#
void OnClickMoveToStart(object sender, RoutedEventArgs e)
{
    tbPositionCursor.Focus();
    tbPositionCursor.Select(0, 0);
}

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 fosse bem-sucedida, algum outro elemento no aplicativo precisava ter o foco anteriormente. Além disso, quando um elemento de contêiner pai chama esse método, em determinadas situações o filho obtém o foco e o valor retornado será false. Para testar se o elemento tem foco, use as IsKeyboardFocusWithin propriedades e IsKeyboardFocused .

Aplica-se a

Produto Versões
.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