FocusManager FocusManager FocusManager FocusManager Class

定義

フォーカス範囲を決定し設定するため、およびその範囲内でフォーカスされた要素を設定するための静的メソッド、添付プロパティ、およびイベントを提供します。Provides a set of static methods, attached properties, and events for determining and setting focus scopes and for setting the focused element within the scope.

public ref class FocusManager abstract sealed
public static class FocusManager
type FocusManager = class
Public Class FocusManager
継承
FocusManagerFocusManagerFocusManagerFocusManager

注釈

Windows Presentation Foundation (WPF) があるフォーカスに関する 2 つの概念: キーボード フォーカスと論理フォーカスします。In Windows Presentation Foundation (WPF) there are two concepts concerning focus: keyboard focus and logical focus.

キーボード フォーカスは、現在キーボード入力を受信する要素に関連します。Keyboard focus pertains to the element which is currently receiving keyboard input. キーボード フォーカスを持つ 1 つだけの要素があります。There can be only one element with keyboard focus. キーボード フォーカスを持つには、この要素がIsKeyboardFocused設定trueします。This element with keyboard focus has IsKeyboardFocused set to true. Keyboard.FocusedElement キーボード フォーカスを持つ要素を返します。Keyboard.FocusedElement returns the element with keyboard focus.

論理フォーカスに関連する、FocusManager.FocusedElement特定フォーカス範囲内です。Logical focus pertains to the FocusManager.FocusedElement within a specific focus scope.

フォーカス スコープはコンテナー要素で、そのスコープ内のFocusManager.FocusedElementを追跡します。A focus scope is a container element that keeps track of the FocusManager.FocusedElement within its scope. 既定で、Windowクラスは、フォーカス範囲は、 MenuContextMenu、およびToolBarクラス。By default, the Window class is a focus scope as are the Menu, ContextMenu, and ToolBar classes. フォーカス範囲である要素にIsFocusScope設定trueします。An element which is a focus scope has IsFocusScope set to true.

論理フォーカスを持つ複数の要素が存在できますが、単一のフォーカス範囲内で論理フォーカスを持つ要素を 1 つしか存在できません。There can be multiple elements with logical focus, but there can only be one element with logical focus within a single focus scope. 論理フォーカスを持つ要素では、キーボード フォーカスが必ずしもがありませんが、キーボード フォーカスを持つ要素が論理フォーカスを持ちます。An element with logical focus does not necessarily have keyboard focus, but an element with keyboard focus will have logical focus. フォーカス範囲内でフォーカス範囲を定義することになります。It is possible to define a focus scope within a focus scope. この場合は、親のフォーカス範囲と子のフォーカス範囲の両方を持ちます、FocusManager.FocusedElementします。In this case, both the parent focus scope and the child focus scope can have a FocusManager.FocusedElement.

次のシナリオはされている WPF アプリケーションでキーボード フォーカスと論理フォーカスを変更する方法を示しています、Windowで、TextBoxMenuを持つ、MenuItemします。The following scenario illustrates how keyboard focus and logical focus change in a WPF application that has a Window with a TextBox and a Menu which has a MenuItem. キーボード フォーカスが変更されたとき、TextBoxMenuItemTextBox損失キーボード フォーカスの論理フォーカスは保持されます、Windowスコープに注目します。When keyboard focus changes from the TextBox to the MenuItem, the TextBox losses keyboard focus but retains logical focus for the Window focus scope. MenuItemがキーボード フォーカスを取得しの論理フォーカスを取得、Menuスコープに注目します。The MenuItem obtains keyboard focus and obtains logical focus for the Menu focus scope. ルートにキーボード フォーカスを返す場合Window、内の要素Window論理フォーカスを持つフォーカス範囲では、この例ではキーボード フォーカスを取得します。、TextBoxします。When keyboard focus returns to the root Window, the element in Window focus scope with logical focus will obtain keyboard focus, which in this case is the TextBox. TextBoxキーボード フォーカスと論理フォーカスになりました。The TextBox now has keyboard focus and logical focus. MenuItem 、キーボード フォーカスを失いますの論理フォーカスを保持、Menuスコープに注目します。The MenuItem loses keyboard focus, but retains logical focus for the Menu focus scope.

既定値IsFocusScope上、 WindowMenuToolBar、およびContextMenutrueします。The default value of IsFocusScope on a Window, Menu, ToolBar, and ContextMenu is true.

フォーカスの詳細については、次を参照してください。、入力の概要フォーカスの概要します。For more information on focus, see the Input Overview and the Focus Overview.

フィールド

FocusedElementProperty FocusedElementProperty FocusedElementProperty FocusedElementProperty

FocusedElement 添付プロパティを識別します。Identifies the FocusedElement attached property.

GotFocusEvent GotFocusEvent GotFocusEvent GotFocusEvent

GotFocus 添付イベントを識別します。Identifies the GotFocus attached event.

IsFocusScopeProperty IsFocusScopeProperty IsFocusScopeProperty IsFocusScopeProperty

IsFocusScope 添付プロパティを識別します。Identifies the IsFocusScope attached property.

LostFocusEvent LostFocusEvent LostFocusEvent LostFocusEvent

LostFocus 添付イベントを識別します。Identifies the LostFocus attached event.

添付プロパティ

FocusedElement FocusedElement FocusedElement FocusedElement

このプロパティが添付される要素に論理フォーカスがあるかどうかを判断します。Determines whether the element this property is attached to has logical focus.

IsFocusScope IsFocusScope IsFocusScope IsFocusScope

このプロパティが添付される要素がフォーカス範囲であるかどうかを判断します。Determines whether the element this property is attached to is a focus scope.

メソッド

AddGotFocusHandler(DependencyObject, RoutedEventHandler) AddGotFocusHandler(DependencyObject, RoutedEventHandler) AddGotFocusHandler(DependencyObject, RoutedEventHandler) AddGotFocusHandler(DependencyObject, RoutedEventHandler)

GotFocus 添付イベントのハンドラーを追加します。Adds a handler for the GotFocus attached event.

AddLostFocusHandler(DependencyObject, RoutedEventHandler) AddLostFocusHandler(DependencyObject, RoutedEventHandler) AddLostFocusHandler(DependencyObject, RoutedEventHandler) AddLostFocusHandler(DependencyObject, RoutedEventHandler)

LostFocus 添付イベントのハンドラーを追加します。Adds a handler for the LostFocus attached event.

GetFocusedElement(DependencyObject) GetFocusedElement(DependencyObject) GetFocusedElement(DependencyObject) GetFocusedElement(DependencyObject)

指定したフォーカス範囲内で論理フォーカスを持つ要素を取得します。Gets the element with logical focus within the specified focus scope.

GetFocusScope(DependencyObject) GetFocusScope(DependencyObject) GetFocusScope(DependencyObject) GetFocusScope(DependencyObject)

true に設定された IsFocusScope を持ち、指定した要素に最も近い先祖を決定します。Determines the closest ancestor of the specified element that has IsFocusScope set to true.

GetIsFocusScope(DependencyObject) GetIsFocusScope(DependencyObject) GetIsFocusScope(DependencyObject) GetIsFocusScope(DependencyObject)

指定した DependencyObject がフォーカス範囲であるかどうかを確認します。Determines whether the specified DependencyObject is a focus scope.

RemoveGotFocusHandler(DependencyObject, RoutedEventHandler) RemoveGotFocusHandler(DependencyObject, RoutedEventHandler) RemoveGotFocusHandler(DependencyObject, RoutedEventHandler) RemoveGotFocusHandler(DependencyObject, RoutedEventHandler)

GotFocus 添付イベントのハンドラーを削除します。Removes a handler for the GotFocus attached event.

RemoveLostFocusHandler(DependencyObject, RoutedEventHandler) RemoveLostFocusHandler(DependencyObject, RoutedEventHandler) RemoveLostFocusHandler(DependencyObject, RoutedEventHandler) RemoveLostFocusHandler(DependencyObject, RoutedEventHandler)

LostFocus 添付イベントのハンドラーを削除します。Removes a handler for the LostFocus attached event.

SetFocusedElement(DependencyObject, IInputElement) SetFocusedElement(DependencyObject, IInputElement) SetFocusedElement(DependencyObject, IInputElement) SetFocusedElement(DependencyObject, IInputElement)

指定した要素に論理フォーカスを設定します。Sets logical focus on the specified element.

SetIsFocusScope(DependencyObject, Boolean) SetIsFocusScope(DependencyObject, Boolean) SetIsFocusScope(DependencyObject, Boolean) SetIsFocusScope(DependencyObject, Boolean)

指定した DependencyObject をフォーカス範囲として設定します。Sets the specified DependencyObject as a focus scope.

添付イベント

GotFocus GotFocus GotFocus GotFocus

要素がフォーカスを取得すると発生します。Occurs when an element gets focus.

LostFocus LostFocus LostFocus LostFocus

要素がフォーカスを失ったときに発生します。Occurs when an element loses focus.

適用対象