Keyboard.GotKeyboardFocus İliştirilmiş Olaylar
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir öğe klavye odağı aldığında gerçekleşir.
see AddGotKeyboardFocusHandler, and RemoveGotKeyboardFocusHandler
see AddGotKeyboardFocusHandler, and RemoveGotKeyboardFocusHandler
see AddGotKeyboardFocusHandler, and RemoveGotKeyboardFocusHandler
Örnekler
Aşağıdaki örnek bir TextBox oluşturur ve olay ve LostKeyboardFocus olay için GotKeyboardFocus olay işleyicileri ekler. TextBox Klavye odağı elde edildiğinde arka plan rengi değiştirilir ve metni TextBox temizlenir. TextBlock Klavye odağı kaybedildiğinde arka plan rengi değiştirilir ve örnekte kullanılan değişkenleri sıfırlayan bir yöntem çağrılır.
<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
Açıklamalar
Bu ekli bir olaydır. WPF, ekli olayları yönlendirilmiş olaylar olarak uygular. Ekli olaylar temelde, olayı tanımlamayan nesnelerde işlenebilen olaylara başvurmak için bir XAML dil kavramıdır ve WPF de olayın bir rotadan geçmesine olanak tanıyarak bu olayı genişletir. Ekli olayların kodda doğrudan işleme söz dizimi yoktur; kodda yönlendirilmiş bir olayın işleyicilerini eklemek için belirlenmiş bir Add*Handler yöntemi kullanırsınız. Ayrıntılar için bkz. Ekli Olaylara Genel Bakış.
Klavye odağı, klavye girişi alan nesneyi ifade eder. Klavye odağı olan öğe olarak true
ayarlanmıştırIsKeyboardFocused. Klavye odağı masaüstünün tamamında olan tek bir öğe olabilir. Mantıksal odak, odağı olan bir odak kapsamındaki nesneye başvurur. Odak, klavye odağı ve mantıksal odak hakkında daha fazla bilgi için bkz. Girişe Genel Bakış ve Odaklanmaya Genel Bakış.
PreviewGotKeyboardFocus Olay veya PreviewLostKeyboardFocus olay işlenirse klavye odağı değişir.
Yönlendirilmiş Olay Bilgisi
Tanımlayıcı alanı | GotKeyboardFocusEvent |
Yönlendirme stratejisi | Köpürme |
Temsilci | KeyboardFocusChangedEventHandler |
- Buna karşılık gelen tünel olayı şeklindedir PreviewGotKeyboardFocus.