UIElement.Focus Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 true
forem .
Se as propriedades relacionadas ainda true
nã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
.