FocusManager Classe

Definição

Fornece um conjunto de métodos estáticos, propriedades associadas e eventos para determinar e definir os escopos de foco e para definir o elemento focado dentro do escopo.

public ref class FocusManager abstract sealed
public static class FocusManager
type FocusManager = class
Public Class FocusManager
Herança
FocusManager

Observações

No Windows Presentation Foundation (WPF) existem dois conceitos relativos ao foco: foco do teclado e foco lógico.

O foco do teclado refere-se ao elemento que está atualmente a receber a entrada do teclado. Só pode haver um elemento com foco no teclado. Este elemento com foco do teclado definiu IsKeyboardFocused para true. Keyboard.FocusedElement devolve o elemento com foco do teclado.

O foco lógico refere-se FocusManager.FocusedElement a dentro de um âmbito de foco específico.

Um escopo de foco é um elemento de contentor que acompanha o FocusManager.FocusedElement dentro do seu âmbito. Por defeito, a Window classe é um âmbito de foco, tal como as Menuclasses , ContextMenu, e ToolBar . Um elemento que é um âmbito de foco definiu IsFocusScope para true.

Podem existir múltiplos elementos com foco lógico, mas só pode haver um elemento com foco lógico dentro de um único âmbito de foco. Um elemento com foco lógico não tem necessariamente foco no teclado, mas um elemento com foco no teclado terá foco lógico. É possível definir um âmbito de foco dentro de um âmbito de foco. Neste caso, tanto o âmbito de foco pai como o âmbito de foco filho podem ter um FocusManager.FocusedElement.

O cenário seguinte ilustra como o foco do teclado e o foco lógico mudam numa aplicação WPF que tem um Window com um TextBox e um Menu que tem um MenuItem. Quando o foco do teclado muda do TextBox para o MenuItem, perde TextBox o foco do teclado mas mantém o foco lógico para o Window âmbito do foco. Obtém MenuItem o foco do teclado e obtém o foco lógico para o Menu âmbito do foco. Quando o foco do teclado regressa à raiz Window, o elemento no Window âmbito do foco com foco lógico obterá o foco do teclado, que neste caso é o TextBox. Agora TextBox tem foco no teclado e foco lógico. Perde MenuItem o foco do teclado, mas mantém o foco lógico para o Menu âmbito do foco.

O valor padrão de IsFocusScope em um Window, Menu, ToolBar, e ContextMenu é true.

Para mais informações sobre o foco, consulte a Visão Geral da Entrada e a Visão Geral do Foco.

Campos

Name Description
FocusedElementProperty

Identifica a FocusedElement propriedade anexada.

GotFocusEvent

Identifica o GotFocus evento anexado.

IsFocusScopeProperty

Identifica a IsFocusScope propriedade anexada.

LostFocusEvent

Identifica o LostFocus evento anexado.

Propriedades Anexadas

Name Description
FocusedElement

Determina se o elemento a que esta propriedade está associada tem foco lógico.

IsFocusScope

Determina se o elemento a que esta propriedade está associada é um âmbito de foco.

Métodos

Name Description
AddGotFocusHandler(DependencyObject, RoutedEventHandler)

Adiciona um handler para o GotFocus evento anexado.

AddLostFocusHandler(DependencyObject, RoutedEventHandler)

Adiciona um handler para o LostFocus evento anexado.

GetFocusedElement(DependencyObject)

Obtém o elemento com foco lógico dentro do âmbito de foco especificado.

GetFocusScope(DependencyObject)

Determina o ancestral mais próximo do elemento especificado que tem IsFocusScope definido a true.

GetIsFocusScope(DependencyObject)

Determina se o especificado DependencyObject é um escopo de foco.

RemoveGotFocusHandler(DependencyObject, RoutedEventHandler)

Remove um handler para o GotFocus evento anexo.

RemoveLostFocusHandler(DependencyObject, RoutedEventHandler)

Remove um handler para o LostFocus evento anexo.

SetFocusedElement(DependencyObject, IInputElement)

Define o foco lógico no elemento especificado.

SetIsFocusScope(DependencyObject, Boolean)

Define o especificado DependencyObject como um escopo de foco.

Eventos Anexados

Name Description
GotFocus

Ocorre quando um elemento recebe foco.

LostFocus

Ocorre quando um elemento perde o foco.

Aplica-se a