Keyboard.LostKeyboardFocus Keyboard.LostKeyboardFocus Keyboard.LostKeyboardFocus Attached Event

定義

要素がキーボード フォーカスを失ったときに発生します。

see AddLostKeyboardFocusHandler, and RemoveLostKeyboardFocusHandler
see AddLostKeyboardFocusHandler, and RemoveLostKeyboardFocusHandler
see AddLostKeyboardFocusHandler, and RemoveLostKeyboardFocusHandler

次の例では、作成、TextBoxのイベント ハンドラーをアタッチし、GotKeyboardFocusイベントとLostKeyboardFocusイベント。 ときに、TextBoxがキーボードのフォーカスを取得背景色を変更と、テキストをTextBoxがクリアされます。 ときに、TextBlockがキーボード フォーカスを失う背景色が変更され、サンプルで使用される変数をリセットするメソッドが呼び出されます。

<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

注釈

これは、添付イベントです。 WPF ルーティング イベントとして添付イベントを実装します。 添付イベントは、基本的に、 XAML 、そのイベントを定義しないオブジェクトで処理できるイベントを参照するための言語の概念をWPFにより、ルートを走査するイベントを拡張します。 アタッチされるイベントでは、コードでは、直接処理構文はありません。指定された追加に使用するコードでルーティング イベントのハンドラーをアタッチする * ハンドラー メソッド。 詳細については、次を参照してください。添付イベントの概要します。

キーボード フォーカスはキーボード入力を受信しているオブジェクトを指します。 キーボード フォーカスを持つ要素がIsKeyboardFocused設定trueします。 デスクトップ全体でのキーボード フォーカスを持つ 1 つだけの要素があります。 論理フォーカスはフォーカスを持つフォーカス範囲内でオブジェクトを指します。 フォーカス、キーボード フォーカスと論理フォーカスの詳細については、次を参照してください。入力の概要フォーカスの概要します。

場合、PreviewGotKeyboardFocusイベントまたはPreviewLostKeyboardFocusイベントは、キーボード フォーカスは変更されません。

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

識別子フィールドです。 LostKeyboardFocusEvent
ルーティング方法 バブル
Delegate KeyboardFocusChangedEventHandler

適用対象