Exportieren (0) Drucken
Alle erweitern
Erweitern Minimieren
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

ContentElement.GotKeyboardFocus-Ereignis

Tritt ein, wenn dieses Element den Tastaturfokus besitzt.

Namespace:  System.Windows
Assembly:  PresentationCore (in PresentationCore.dll)
XMLNS für XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

public event KeyboardFocusChangedEventHandler GotKeyboardFocus
<object GotKeyboardFocus="KeyboardFocusChangedEventHandler" .../>

Implementiert

IInputElement.GotKeyboardFocus

Bezeichnerfeld

GotKeyboardFocusEvent

Routingstrategie

Bubbling

delegate

KeyboardFocusChangedEventHandler

IsKeyboardFocusedChanged ist ein ähnliches Ereignis, das Statusänderungen einer Eigenschaft verfolgt, die den Fokuszustand für ein Element beibehält. Das GotKeyboardFocus-Ereignis wird häufig unter denselben Umständen ausgelöst.

Da dieses Ereignis das Bubbling-Routing verwendet, kann es sich bei dem Element, das den Fokus aufweist, um ein untergeordnetes Element und nicht um das Element handeln, an das der Ereignishandler tatsächlich angefügt ist. Überprüfen Sie die Source in den Ereignisdaten, um das Element zu bestimmen, das tatsächlich den Fokus aufweist.

Mit diesem Ereignis wird ein Alias für den Keyboard.GotKeyboardFocus  angefügte Ereignis für diese Klasse, sodass GotKeyboardFocus Teil der Liste der Klassenmember ist, wenn ContentElement als Basiselement geerbt wird. An das GotKeyboardFocus-Ereignis angefügte Ereignishandler werden an das zugrunde liegende angefügte Keyboard.GotKeyboardFocus-Ereignis angefügt, und sie empfangen dieselbe Ereignisdateninstanz.

Dieses Beispiel zeigt, wie Sie die Farbe eines Elements ändern, wenn es den Fokus erhält bzw. verliert, indem Sie die Ereignisse GotFocus und LostFocus verwenden.

Dieses Beispiel besteht aus einer Extensible Application Markup Language (XAML)-Datei und einer Code-Behind-Datei.

Der folgende XAML-Code erstellt die Benutzeroberfläche, die aus zwei Button-Objekten besteht, und fügt Ereignishandler für die Ereignisse GotFocus und LostFocus an die Button-Objekte an.


<StackPanel>
  <StackPanel.Resources>
    <Style TargetType="{x:Type Button}">
      <Setter Property="Height" Value="20"/>
      <Setter Property="Width" Value="250"/>
      <Setter Property="HorizontalAlignment" Value="Left"/>
    </Style>
  </StackPanel.Resources>
  <Button
      GotFocus="OnGotFocusHandler"
      LostFocus="OnLostFocusHandler">Click Or Tab To Give Keyboard Focus</Button>
  <Button
      GotFocus="OnGotFocusHandler"
      LostFocus="OnLostFocusHandler">Click Or Tab To Give Keyborad Focus</Button>
</StackPanel>


Der folgende Code-Behind erstellt die Ereignishandler GotFocus und LostFocus. Wenn Button den Tastaturfokus erhält, wird der Background von Button in die Farbe Rot geändert. Wenn Button den Tastaturfokus verliert, wird der Background von Button in die Farbe Weiß geändert.


public partial class Window1 : Window
{
    public Window1()
    {
        InitializeComponent();
    }

    // Raised when Button gains focus.
    // Changes the color of the Button to Red.
    private void OnGotFocusHandler(object sender, RoutedEventArgs e)
    {
        Button tb = e.Source as Button;
        tb.Background = Brushes.Red;
    }
    // Raised when Button losses focus. 
    // Changes the color of the Button back to white.
    private void OnLostFocusHandler(object sender, RoutedEventArgs e)
    {
        Button tb = e.Source as Button;
        tb.Background = Brushes.White;
    }
}


.NET Framework

Unterstützt in: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

Es werden nicht alle Versionen sämtlicher Plattformen von .NET Framework unterstützt.. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2015 Microsoft