UIElement.Focus Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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