UIElement.Focus Método

Definição

Tenta focar neste elemento.

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

Devoluções

true se o foco do teclado e o foco lógico fossem definidos para este elemento; false se apenas o foco lógico fosse definido para este elemento, ou se a chamada a este método não forçasse a mudança do foco.

Implementações

Exemplos

O exemplo seguinte define o foco para um TextBox referenciado por Name, e depois 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

Observações

Para serem focáveis, Focusable e IsEnabled devem ser trueambos.

Mesmo que o elemento seja focável e válido, os Focus eventos de pré-visualização podem ser processados numa árvore específica, e o foco nesse elemento pode não ser permitido (por exemplo, num controlo composto). Nesse caso, este método devolve false.

Em geral, o foco é controlado por dois conceitos diferentes: foco do teclado e foco lógico. Estes dois conceitos nem sempre são iguais. Para mais informações, consulte Resumo do Foco e Visão Geral da Entrada.

Se chamar Focus devolver true, IsKeyboardFocused e IsKeyboardFocusWithin também são true.

Se as propriedades relacionadas ainda não trueforem , quando chamar Focus, um ou mais dos seguintes eventos são levantados pela seguinte ordem: PreviewLostKeyboardFocus, PreviewGotKeyboardFocus (a fonte é o novo alvo de foco), IsKeyboardFocusedChanged, IsKeyboardFocusWithinChanged, LostKeyboardFocus, GotKeyboardFocus (a fonte é o novo alvo de foco).

Para que esta chamada fosse bem-sucedida, algum outro elemento da candidatura precisava de ter foco anteriormente. Além disso, quando um elemento de contentor pai chama este método, em certas situações o filho recebe o foco e o valor de retorno será false. Para testar se o elemento tem foco, use as IsKeyboardFocusWithin propriedades e.IsKeyboardFocused

Aplica-se a