Übersicht über ContextMenuContextMenu Overview

Die ContextMenu Klasse darstellt, das Element, das Funktionen verfügbar macht, indem Sie ein kontextspezifisches Menu.The ContextMenu class represents the element that exposes functionality by using a context-specific Menu. Ein Benutzer in der Regel macht der ContextMenu in die Benutzeroberfläche (User Interface, UI)user interface (UI) mit der rechten Maustaste in der Maustaste.Typically, a user exposes the ContextMenu in the Benutzeroberfläche (User Interface, UI)user interface (UI) by right-clicking the mouse button. In diesem Thema werden die ContextMenu Element und enthält Beispiele zu dessen Verwendung in Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML) und Code.This topic introduces the ContextMenu element and provides examples of how to use it in Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML) and code.

ContextMenu-SteuerelementContextMenu Control

Ein ContextMenu an ein bestimmtes Steuerelement angefügt ist.A ContextMenu is attached to a specific control. Die ContextMenu Element können Sie Benutzern eine Liste von Elementen zur Verfügung stellen, die Befehle oder Optionen, die ein Steuerelement zugeordnet, z. B. sind angeben einer Button.The ContextMenu element enables you to present users with a list of items that specify commands or options that are associated with a particular control, for example, a Button. Das Menü wird mit einem Rechtsklick mit der Maus aufgerufen.Users right-click the control to make the menu appear. Klicken Sie in der Regel eine MenuItem ein Untermenü geöffnet oder bewirkt, dass eine Anwendung, einen Befehl auszuführen.Typically, clicking a MenuItem opens a submenu or causes an application to carry out a command.

Erstellen von ContextMenusCreating ContextMenus

Die folgenden Beispiele zeigen, wie Sie erstellen eine ContextMenu mit Untermenüs.The following examples show how to create a ContextMenu with submenus. Die ContextMenu Steuerelemente an Steuerelemente angefügt werden.The ContextMenu controls are attached to button controls.

<Button Name="cmButton" Height="30">
  Button with Context Menu
  <Button.ContextMenu>
    <ContextMenu Name="cm" Opened="OnOpened" Closed="OnClosed" StaysOpen="true">
      <MenuItem Header="File"/>
      <MenuItem Header="Save"/>
      <MenuItem Header="SaveAs"/>
      <MenuItem Header="Recent Files">
        <MenuItem Header="ReadMe.txt"/>
        <MenuItem Header="Schedule.xls"/>
      </MenuItem>
    </ContextMenu>
  </Button.ContextMenu>
</Button>
btn = new Button();
btn.Content = "Created with C#";
contextmenu = new ContextMenu();
btn.ContextMenu = contextmenu;
mi = new MenuItem();
mi.Header = "File";
mia = new MenuItem();
mia.Header = "New";
mi.Items.Add(mia);
mib = new MenuItem();
mib.Header = "Open";
mi.Items.Add(mib);
mib1 = new MenuItem();
mib1.Header = "Recently Opened";
mib.Items.Add(mib1);
mib1a = new MenuItem();
mib1a.Header = "Text.xaml";
mib1.Items.Add(mib1a);
contextmenu.Items.Add(mi);
cv2.Children.Add(btn);
Dim btn As New Button()
Dim contextmenu As New ContextMenu()
Dim mi As New MenuItem()
Dim mia As New MenuItem()

btn.Background = Brushes.Red
btn.Height = 30
btn.Content = "Created with Visual Basic."

mi.Header = ("Item 1")
contextmenu.Items.Add(mi)
mia.Header = ("Item 2")
contextmenu.Items.Add(mia)

btn.ContextMenu = (contextmenu)
cv2.Children.Add(btn)

Anwenden von Stilen auf ein ContextMenuApplying Styles to a ContextMenu

Mithilfe eines Steuerelements Style, Sie können das Aussehen und Verhalten der drastisch ändern eine ContextMenu ohne ein benutzerdefiniertes Steuerelement schreiben zu müssen.By using a control Style, you can dramatically change the appearance and behavior of a ContextMenu without writing a custom control. Zusätzlich zur Festlegung von visuellen Eigenschaften können Sie auch Stile auf Teilelemente eines Steuerelements anwenden.In addition to setting visual properties, you can also apply styles to parts of a control. Beispielsweise können Sie das Verhalten von Teilen des Steuerelements mithilfe von Eigenschaften ändern, oder Sie können Teile zum Hinzufügen oder Ändern des Layouts, eine ContextMenu.For example, you can change the behavior of parts of the control by using properties, or you can add parts to, or change the layout of, a ContextMenu. Die folgenden Beispiele zeigen verschiedene Möglichkeiten zum Hinzufügen zu ContextMenu Steuerelemente.The following examples show several ways to add styles to ContextMenu controls.

Im ersten Beispiel wird ein Stil mit der Bezeichnung SimpleSysResources definiert. An diesem Beispiel können Sie sehen, wie die aktuellen Systemeinstellungen in Ihrem Stil verwendet werden können.The first example defines a style called SimpleSysResources, which shows how to use the current system settings in your style. Das Beispiel weist MenuHighlightBrushKey als die Background Farbe und MenuTextBrushKey als die Foreground Farbe der ContextMenu.The example assigns MenuHighlightBrushKey as the Background color and MenuTextBrushKey as the Foreground color of the ContextMenu.

<Style x:Key="SimpleSysResources" TargetType="{x:Type MenuItem}">  
  <Setter Property = "Background" Value=   
    "{DynamicResource {x:Static SystemColors.MenuHighlightBrushKey}}"/>  
  <Setter Property = "Foreground" Value=   
    "{DynamicResource {x:Static SystemColors.MenuTextBrushKey}}"/>  
</Style>  

Im folgenden Beispiel wird der Trigger Element so ändern Sie die Darstellung einer Menu als Reaktion auf Ereignisse, die auf ausgelöst werden die ContextMenu.The following example uses the Trigger element to change the appearance of a Menu in response to events that are raised on the ContextMenu. Wenn ein Benutzer die Maus bewegt, über das Menü, das die Darstellung der ContextMenu Elemente geändert wird.When a user moves the mouse over the menu, the appearance of the ContextMenu items changes.

<Style x:Key="Triggers" TargetType="{x:Type MenuItem}">  
  <Style.Triggers>  
    <Trigger Property="MenuItem.IsMouseOver" Value="true">  
      <Setter Property = "FontSize" Value="16"/>  
      <Setter Property = "FontStyle" Value="Italic"/>  
      <Setter Property = "Foreground" Value="Red"/>  
    </Trigger>  
  </Style.Triggers>  
</Style>  

Siehe auchSee also