Keyboard.GotKeyboardFocus 附加事件

定義

項目收到鍵盤焦點時發生。

C#
see AddGotKeyboardFocusHandler, and RemoveGotKeyboardFocusHandler

範例

下列範例會TextBox建立 並附加 事件和 LostKeyboardFocus 事件的事件處理程式GotKeyboardFocusTextBox取得鍵盤焦點時,背景色彩會變更,並清除的TextBox文字。 TextBlock當 失去鍵盤焦點時,背景色彩會變更,而且會呼叫方法,以重設範例中使用的變數。

XML
<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>
C#
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();
    }
}
C#
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();
    }
}

備註

這是附加的事件。 WPF 會將附加事件實作為路由事件。 附加事件基本上是一種 XAML 語言概念,可參考未定義該事件的物件上可處理的 XAML 語言概念,WPF 也會藉由讓事件周遊路由來擴充該事件。 附加事件在程式代碼中沒有直接處理語法;若要在程式代碼中附加路由事件的處理程式,您可以使用指定的 Add*Handler 方法。 如需詳細資訊,請參閱 附加事件概觀

鍵盤焦點是指接收鍵盤輸入的物件。 具有鍵盤焦點的項目已 IsKeyboardFocused 設定為 true。 整個桌面上只能有一個鍵盤焦點的專案。 邏輯焦點是指焦點範圍內具有焦點的物件。 如需焦點、鍵盤焦點和邏輯焦點的詳細資訊,請參閱 輸入 概觀和 焦點概觀

PreviewGotKeyboardFocus如果已處理事件或PreviewLostKeyboardFocus事件,鍵盤焦點就會變更。

路由事件資訊

標識元欄位 GotKeyboardFocusEvent
路由策略 鼓 泡
代理人 KeyboardFocusChangedEventHandler

適用於

產品 版本
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9