Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Aktualisiert: November 2007
In diesem Thema wird erläutert, wie Sie ein TabControl-Element erstellen und ein ContextMenu an die einzelnen TabItem-Elemente anfügen. Wenn ein Benutzer im ContextMenu auf ein Element klickt, muss das TabItem-Element das Click-Ereignis behandeln. Sie können den Handler den ContextMenu-Elementen hinzufügen, aber Sie müssen das Ziel des ContextMenu-Elements kennen, damit die richtige Aktion ausgeführt werden kann.
Das folgende Beispiel zeigt, wie Sie dies durchführen: Im ersten Beispiel wird ein TabItem erstellt und ein ContextMenu an das TabItem angefügt.
Beispiel
<TabItem Name="backgroundcolor" Header="Choose a Background Color">
<TabItem.ContextMenu>
<ContextMenu MenuItem.Click="MyMenuHandler">
<MenuItem Header="Red" Name="red"/>
<MenuItem Header="Blue" Name="blue"/>
<MenuItem Header="Yellow" Name="yellow"/>
</ContextMenu>
</TabItem.ContextMenu>
<TabItem.Content>Some content about background colors.</TabItem.Content>
</TabItem>
Das zweite Beispiel zeigt, wie Sie einen Handler erstellen, der die Aufrufe des Click-Ereignisses behandelt.
void MyMenuHandler(object sender, RoutedEventArgs e)
{
ContextMenu cm = (ContextMenu)sender;
target = cm.PlacementTarget;
if(e.Source==red)
{
backgroundcolor.Background = Brushes.Red;
backgroundcolor.Header = "Background red";
}
else if(e.Source==blue)
{
backgroundcolor.Background = Brushes.LightBlue;
backgroundcolor.Header = "Background blue";
}
else if(e.Source==yellow)
{
backgroundcolor.Background = Brushes.Yellow;
backgroundcolor.Header = "Background yellow";
}
}
Beachten Sie, dass Sie zum Suchen nach dem ContextMenu-Ziel den Code im vorherigen oder im folgenden Beispiel verwenden können.
ContextMenu cm = (ContextMenu)ContextMenu.ItemsControlFromItemContainer ((MenuItem)e.OriginalSource);
UIElement placementTarget = cm.PlacementTarget;