ContentElement.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 puder ser definido para esse elemento, false
se a chamada desse método não forçou o foco.
Implementações
Exemplos
O exemplo a seguir é um manipulador de eventos carregado de página que localiza um parágrafo nomeado especificado no documento e define o foco para ele. Parágrafos não são focalizáveis por padrão; este parágrafo específico tinha um estilo aplicado (não mostrado) que usava um estilo Setter para torná-lo focalizável.
void FocusOnParagraph(object sender, RoutedEventArgs e)
{
ContentElement ce = this.FindName("focusableP") as ContentElement;
ce.Focus();
}
Private Sub FocusOnParagraph(ByVal sender As Object, ByVal e As RoutedEventArgs)
Dim ce As ContentElement = TryCast(Me.FindName("focusableP"), ContentElement)
ce.Focus()
End Sub
Comentários
Para ser focalizável e FocusableIsEnabled ambos devem ser true
. Observe que quase todas as ContentElement classes derivadas não Focusable são por padrão.
Mesmo que um elemento seja focalizável e habilitado, o tratamento de eventos em uma árvore específica (como para um controle composto) pode responder aos eventos de foco de visualização não permitindo o foco lá, portanto, esse método retornaria false
.
O foco em geral é regido por dois conceitos separados: foco do teclado e foco lógico, que nem sempre são idênticos. Esse método define o foco lógico. Não há meios programáticos para definir especificamente o foco do teclado; O foco do teclado é determinado pela entrada do usuário. Para obter mais informações, consulte Visão geral do foco e Visão geral de 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).