Keyboard.GotKeyboardFocus Hozzácsatolt esemény
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Akkor fordul elő, ha egy elem megkapja a billentyűzet fókuszát.
see AddGotKeyboardFocusHandler, and RemoveGotKeyboardFocusHandler
see AddGotKeyboardFocusHandler, and RemoveGotKeyboardFocusHandler
see AddGotKeyboardFocusHandler, and RemoveGotKeyboardFocusHandler
Példák
Az alábbi példa létrehoz és csatol egy TextBox eseménykezelőt az GotKeyboardFocus eseményhez és az LostKeyboardFocus eseményhez. TextBox A billentyűzetfókusz beszerzésekor a háttérszín megváltozik, és a szöveg TextBox törlődik. Ha elveszíti a TextBlock billentyűzet fókuszát, a háttérszín megváltozik, és egy metódust nevezünk, amely alaphelyzetbe állítja a mintában használt változókat.
<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
Megjegyzések
Ez egy csatolt esemény. WPF csatolt eseményeket implementál irányított eseményként. A csatolt események alapvetően egy XAML nyelvi fogalom, amely olyan eseményekre hivatkozik, amelyek olyan objektumokon kezelhetők, amelyek nem határozzák meg ezt az eseményt, és amelyek WPF bővülnek azáltal, hogy lehetővé teszik az esemény számára az útvonalon való áthaladást. A csatolt események nem rendelkeznek közvetlen kezelési szintaxissal a kódban; A kódban egy irányított esemény kezelőinek csatolásához egy kijelölt Add*Handler metódust kell használnia. További részletekért lásd: Csatolt események áttekintése.
A billentyűzetfókusz a billentyűzetbemenetet fogadó objektumra vonatkozik. A billentyűzetfókuszú elem a következőre IsKeyboardFocusedvan true állítva: . Csak egy elem lehet, amelynek billentyűzetfókusza a teljes asztalon van. A logikai fókusz a fókuszt tartalmazó hatókörben lévő objektumra vonatkozik. A fókuszról, a billentyűzetfókuszról és a logikai fókuszról további információt a Bemenet áttekintése és a Fókusz áttekintése című témakörben talál.
Ha az PreviewGotKeyboardFocus eseményt vagy az PreviewLostKeyboardFocus eseményt kezelik, a billentyűzet fókusza megváltozik.
Irányított eseményinformációk
| Termék | Érték |
|---|---|
| Azonosító mező | GotKeyboardFocusEvent |
| Útválasztási stratégia | Fortyogó |
| Képviselő | KeyboardFocusChangedEventHandler |
- A megfelelő bújtatási esemény az PreviewGotKeyboardFocus.