Keyboard.GotKeyboardFocus 添付イベント

定義

要素がキーボード フォーカスを受け取ったときに発生します。Occurs when an element receives keyboard focus.

see AddGotKeyboardFocusHandler, and RemoveGotKeyboardFocusHandler
see AddGotKeyboardFocusHandler, and RemoveGotKeyboardFocusHandler
see AddGotKeyboardFocusHandler, and RemoveGotKeyboardFocusHandler

次の例ではTextBox 、を作成し、イベントGotKeyboardFocusLostKeyboardFocusイベントのイベントハンドラーをアタッチします。The following example creates a TextBox and attaches event handlers for the GotKeyboardFocus event and the LostKeyboardFocus event. TextBoxキーボードフォーカスを取得すると、背景色が変更され、 TextBoxのテキストがクリアされます。When the TextBox obtains keyboard focus, the background color is changed and the text of the TextBox is cleared. TextBlockキーボードフォーカスを失った場合、背景色が変更され、サンプルで使用される変数をリセットするメソッドが呼び出されます。When the TextBlock loses keyboard focus, the background color is changed and a method is called which resets variables used in the sample.

<Border BorderBrush="Black" BorderThickness="1"
        Width="200" Height="100" Margin="5">
  <StackPanel>
    <Label HorizontalAlignment="Center" Content="Type Text In This TextBox" />
    <TextBox Width="175"
             Height="50" 
             Margin="5"
             TextWrapping="Wrap"
             HorizontalAlignment="Center"
             VerticalScrollBarVisibility="Auto"
             GotKeyboardFocus="TextBoxGotKeyboardFocus"
             LostKeyboardFocus="TextBoxLostKeyboardFocus"
             KeyDown="SourceTextKeyDown"/>
  </StackPanel>
</Border>
private void TextBoxGotKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)
{
    TextBox source = e.Source as TextBox;

    if (source != null)
    {
        // Change the TextBox color when it obtains focus.
        source.Background = Brushes.LightBlue;

        // Clear the TextBox.
        source.Clear();
    }
}
Private Sub TextBoxGotKeyboardFocus(ByVal sender As Object, ByVal e As KeyboardFocusChangedEventArgs)
    Dim source As TextBox = TryCast(e.Source, TextBox)

    If source IsNot Nothing Then
        ' Change the TextBox color when it obtains focus.
        source.Background = Brushes.LightBlue

        ' Clear the TextBox.
        source.Clear()
    End If
End Sub
private void TextBoxLostKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)
{
    TextBox source = e.Source as TextBox;

    if (source != null)
    {
        // Change the TextBox color when it loses focus.
        source.Background = Brushes.White;

        // Set the  hit counter back to zero and updates the display.
        this.ResetCounter();
    }
}
Private Sub TextBoxLostKeyboardFocus(ByVal sender As Object, ByVal e As KeyboardFocusChangedEventArgs)
    Dim source As TextBox = TryCast(e.Source, TextBox)

    If source IsNot Nothing Then
        ' Change the TextBox color when it loses focus.
        source.Background = Brushes.White

        ' Set the  hit counter back to zero and updates the display.
        Me.ResetCounter()
    End If
End Sub

注釈

これは添付イベントです。This is an attached event. WPFWPF添付イベントをルーティングイベントとして実装します。implements attached events as routed events. 添付イベントは、基本的XAMLXAMLには、イベントを定義していないオブジェクトで処理できるイベントを参照するためWPFWPFの言語の概念です。これは、イベントがルートを走査できるようにすることによって展開されます。Attached events are fundamentally a XAMLXAML language concept for referencing events that can be handled on objects that do not define that event, which WPFWPF expands upon by also enabling the event to traverse a route. アタッチされたイベントには、コードで直接処理構文がありません。コードでルーティングイベントのハンドラーをアタッチするには、指定された Add * Handler メソッドを使用します。Attached events do not have a direct handling syntax in code; to attach handlers for a routed event in code, you use a designated Add*Handler method. 詳細については、「添付イベントの概要」を参照してください。For details, see Attached Events Overview.

キーボードフォーカスは、キーボード入力を受け取るオブジェクトを参照します。Keyboard focus refers to the object that is receiving keyboard input. キーボードフォーカスを持つ要素がIsKeyboardFocusedtrue設定されています。The element with keyboard focus has IsKeyboardFocused set to true. キーボードフォーカスを持つ要素は、デスクトップ全体に1つだけ存在できます。There can be only one element with keyboard focus on the entire desktop. 論理フォーカスとは、フォーカスがあるフォーカススコープ内のオブジェクトを指します。Logical focus refers to the object within a focus scope that has focus. フォーカス、キーボードフォーカス、および論理フォーカスの詳細については、「入力の概要」と「フォーカスの概要」を参照してください。For more information on focus, keyboard focus, and logical focus, see Input Overview and Focus Overview.

PreviewGotKeyboardFocusイベントまたはイベントが処理されると、キーボードPreviewLostKeyboardFocusフォーカスが変わります。If the PreviewGotKeyboardFocus event or the PreviewLostKeyboardFocus event is handled, keyboard focus does change.

ルーティングされたイベント情報Routed Event Information

識別子フィールドIdentifier field GotKeyboardFocusEvent
ルーティング方法Routing strategy バブリングBubbling
DelegateDelegate KeyboardFocusChangedEventHandler

適用対象