Standard ContextMenu-Stil - WPF
Ich versuche, ändern Sie die Standard-Stil der ContextMenu-in WPF.
Normalerweise können Sie creat eine Kopie der Standard in Expression Blend mit der Edit Control Parts (Template) > Kopie Bearbeiten Menü-option. Allerdings kann ich nicht herausfinden, wie dies mit einem ContextMenu. Irgendeine Idee, wie ich die Standard-Formatvorlage zu ändern?
Ich versuche zum deaktivieren der linken Seite der Kontext-Menü, wo die icons werden normal dargestellt.
Dank!
Update: Vielleicht war ich nicht klar darüber, das entfernen der Symbole. Zum Beispiel, wenn Sie ein Kontext-Menü keine Symbole dann die gesamte linke Seite des Menüs wird Platz verschwendet. Ich möchte zum ändern der Standard-Formatvorlage des Kontext-Menü hintergrund, um diese zu entfernen. Einfach ich weiß nicht, wie Zugriff auf diese Standard-Stil.
- Lukas, hast du dieses problem lösen? Ich bin ein bisschen verwirrt von all den verschiedenen Ideen unten. Vielen Dank für jeden Tipp!
- Ja, ich hab die Antwort unten, um die Vorlage und verändert es von dort.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für-Vorlagen und-Stile, die nicht zugänglich sind durch die Expression Interface (wie das ContextMenu-Vorlage) Sie können den folgenden code verwenden, zum extrahieren der Vorlage:
Oder in C#
Fand ich die einfach Weg, um das ContextMenu-Vorlage in Mischung:
Das ist es. Auswählen, wo Sie möchten das template/style zu setzen, und Sie sind fertig.
Hier ist das markup, die ich hatte:
Und der style/template, die ich bekam:
Hoffe, das hilft. In den üblichen MS Gründlichkeit, den Pinsel in der Standard-Formatvorlage nicht gefunden werden. 🙂
Versuchen Sie dies: (fügen Sie diesen code in Ihre Ressourcen Teil der XAML -) Dies sollte das Symbol entfernen, der Streifen aus dem Kontextmenü.
Eigentlich der Raum ist nicht Teil des ContextMenu-es ist Teil von MenuItem. So ziehen Sie einfach einen Menüpunkt, um Ihre Fenster in expression blend und erstellen Sie eine Kopie der Regelung. Hoffe Ihr ContextMenu-Deklaration ist wie folgt
Und in Ihren MenuItem "ControlTemplate" können Sie sehen, der Raum da unten. So entfernen Sie das Symbol, und die Erste Spalte des Rasters, die ich markiert im Screenshot zu sehen.
Den zusätzlichen Platz auf der linken Seite ist aufgrund der kleinen Häkchen, die erscheint, wenn Sie set
IsCheckable
undIsChecked
zutrue
aufMenuItem
.Das Häkchen in der Vorlage für
MenuItem
wenn Sie so Bearbeiten, dass Sie können nehmen Sie es heraus.IsCheckable
Eigenschaft wirkt sich auf die Benutzerinteraktion mit einem Menü-Element, nicht davon, ob die Prüfung/Symbol Bereich wird im Menü angezeigt. In der Tat, der Standardwert ist bereitsFalse
. Die EinstellungTrue
Fällen einfach das Häkchen auf automatisch Umschalten jedes mal, wenn der Benutzer wählt, dass der Menüpunkt.