Keyboard.GotKeyboardFocus 添付イベント
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
要素がキーボード フォーカスを受け取ったときに発生します。
see AddGotKeyboardFocusHandler, and RemoveGotKeyboardFocusHandler
see AddGotKeyboardFocusHandler, and RemoveGotKeyboardFocusHandler
see AddGotKeyboardFocusHandler, and RemoveGotKeyboardFocusHandler
例
次の例では、 をTextBox作成し、 イベントと イベントのイベント ハンドラーをLostKeyboardFocusGotKeyboardFocusアタッチします。 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 はイベントがルートを通過できるようにすることで拡張されます。 アタッチされたイベントには、コード内の直接処理構文がありません。コード内のルーティング イベントのハンドラーをアタッチするには、指定された Add*Handler メソッドを使用します。 詳細については、「 添付イベントの概要」を参照してください。
キーボード フォーカスは、キーボード入力を受け取っているオブジェクトを指します。 キーボード フォーカスを持つ 要素が にtrue
設定されていますIsKeyboardFocused。 デスクトップ全体にキーボード フォーカスがある要素は 1 つだけです。 論理フォーカスとは、フォーカスがあるフォーカススコープ内のオブジェクトを指します。 フォーカス、キーボード フォーカス、論理フォーカスの詳細については、「 入力の概要 」と「 フォーカスの概要」を参照してください。
PreviewGotKeyboardFocusイベントまたはイベントがPreviewLostKeyboardFocus処理されると、キーボード フォーカスは変更されます。
ルーティングされたイベント情報
識別子フィールド | GotKeyboardFocusEvent |
ルーティング戦略 | バブル |
代理人 | KeyboardFocusChangedEventHandler |
- 対応するトンネリング イベントは です PreviewGotKeyboardFocus。
適用対象
.NET