Control.Focus メソッド

2013/12/12

コントロールへのフォーカスの設定を試行します。

Namespace:  System.Windows.Controls
アセンブリ:  System.Windows (System.Windows.dll 内)

public bool Focus()

戻り値

型: System.Boolean
コントロールにフォーカスが設定されるか、フォーカスが既にコントロールにある場合は true。フォーカスをコントロールに設定できない場合は false

フォーカスが実際に変更された場合 (戻り値が true で、フォーカスがそのコントロールになかった場合)、Focus を呼び出すと、該当の要素で GotFocus イベントまたは LostFocus イベントが発生します。

フォーカスの設定には、次の条件を満たしている必要があります。

VisibilityVisible に設定されています。

  • IsTabStop true に設定されます。

  • IsEnabled true に設定されます。

  • コントロールはツリー内でインスタンス化されている必要があります (Loaded イベントが発生しています)。

"FocusedElement" 値 (GetFocusedElement メソッドを通じて公開) は即時に更新されますが、GotFocusLostFocus の変更の通知は非同期に発生します。この非同期のフォーカス設計は、動作している FocusManager がビジュアル ツリーの最新のビューに更新されなかったために、実行時に作成される要素が Focus の呼び出しに失敗しないことを目的としています。

ユーザーがコントロールをタップしたときに、そのコントロールにフォーカスを設定する例を次に示します。


protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e)
{
    base.OnMouseLeftButtonDown(e);
    Focus();
}


Windows Phone OS

サポート: 8.0, 7.1, 7.0

表示:
© 2014 Microsoft