Gut, hinzufügen MenuItem müssen Sie etwas entlang diesen Linien:
var menuItem =newMenuItem(){Header="Menu Name",Name="Identifier",IsCheckable=true,IsChecked= visible };
menuItem.Click+=newRoutedEventHandler(contextMenu_onClick);int position = contextMenu.Items.Add(menuItem);
(aber Sie haben wahrscheinlich schon).
Müssen Sie einige Weg, binden Sie den Menüpunkt, um die Eigenschaft - aber ohne zu sehen, Ihre Anwendung kann ich nicht wirklich empfehlen, die beste Art und Weise. Es gibt die Tag-Eigenschaft speichert ein Objekt; die Uid-Eigenschaft speichert einen string, der die Eigenschaft Name, die auch speichert einen string.
Während:
menuItem.Visibility=Visibility.Visible;
und
menuItem.Visibility=Visibility.Collapsed;
sollte Umschalten der Sichtbarkeit des Elements.
EDIT: Mit Eingestürzten blendet das Menü-item und kein Platz in der Menü - Sie wollen nicht wirklich Leerzeichen in einem Kontext-Menü. (Dank Botz3000)
Dann in Ihrem code, wo Sie den Wert der Eigenschaft geändert wird, werden Sie finden das Menü-Element, das Sie anzeigen möchten, ein - /ausblenden mit der Verknüpfung die ich oben beschrieben habe. Sobald Sie das Element, das Sie wechseln können, es Wert:
Sind Sie sicher, dass Sie ausblenden möchten der MenuItem? Es ist eher üblich, um es zu deaktivieren, die Verwendung von WPF Kommandierender Rahmen:
<MenuItemHeader="_MenuName"Command="{x:Static local:MyCommands.SomeCommand}"/>
...
<!-- In the menu item or any of its ancestors: --><SomeControl.CommandBindings><CommandBindingCommand="{x:Static local:MyCommands.SomeCommand}"Executed="Save_Executed"CanExecute="Save_CanExecture"/></SomeControl.CommandBindings>
WPF verwenden Sie die bool Ergebnis Save_CanExecute um zu bestimmen, ob die MenuItem's Befehl kann zurzeit ausführen, und aktivieren/deaktivieren Sie die MenuItem entsprechend.
Gut, hinzufügen MenuItem müssen Sie etwas entlang diesen Linien:
(aber Sie haben wahrscheinlich schon).
Müssen Sie einige Weg, binden Sie den Menüpunkt, um die Eigenschaft - aber ohne zu sehen, Ihre Anwendung kann ich nicht wirklich empfehlen, die beste Art und Weise. Es gibt die Tag-Eigenschaft speichert ein Objekt; die Uid-Eigenschaft speichert einen string, der die Eigenschaft Name, die auch speichert einen string.
Während:
und
sollte Umschalten der Sichtbarkeit des Elements.
EDIT: Mit Eingestürzten blendet das Menü-item und kein Platz in der Menü - Sie wollen nicht wirklich Leerzeichen in einem Kontext-Menü. (Dank Botz3000)
Dann in Ihrem code, wo Sie den Wert der Eigenschaft geändert wird, werden Sie finden das Menü-Element, das Sie anzeigen möchten, ein - /ausblenden mit der Verknüpfung die ich oben beschrieben habe. Sobald Sie das Element, das Sie wechseln können, es Wert:
Vielen Dank - ich habe aktualisiert die Antwort
InformationsquelleAutor ChrisF
Sind Sie sicher, dass Sie ausblenden möchten der
MenuItem
? Es ist eher üblich, um es zu deaktivieren, die Verwendung von WPF Kommandierender Rahmen:WPF verwenden Sie die
bool
ErgebnisSave_CanExecute
um zu bestimmen, ob dieMenuItem
's Befehl kann zurzeit ausführen, und aktivieren/deaktivieren Sie dieMenuItem
entsprechend.InformationsquelleAutor Matthew