WPF: Wie öffnet man ein Kontextmenü aus allen Bereichen des Grid control
Ich versuche, fügen Sie ein ContextMenu der Elemente in einer ListBox in WPF;
<ListBox.ItemTemplate>
<DataTemplate>
<Border>
<Grid>
<Grid.ContextMenu>
<ContextMenu>
<MenuItem Header = "Menu item 1"/>
<MenuItem Header = "Menu item 2"/>
<MenuItem Header = "Menu item 3"/>
</ContextMenu>
</Grid.ContextMenu>
........
........
</Grid>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
Das problem ist, dass die ContextMenu wird nur geöffnet, wenn Sie auf den konkreten Kontext der Startaufstellung, ich möchte in der Lage sein, um das Menü zu öffnen, indem Sie irgendwo auf das Listbox-Element.
Sollte ich wickeln Sie das Gitter in einige andere Steuern?
InformationsquelleAutor Andronicus | 2010-10-14
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es wurde eine mehrere Monate, seitdem ich keine Feste WPF-Entwicklung (wurde verschoben aus Anwendungsentwicklung zu einem tatsächlichen Spiel-team).
Aus dem Speicher, den Sie einstellen möchten, die
ContextMenu
Eigenschaft auf dieBorder
und legen Sie dann dieBorder.Background=Transparent
. Einstellung für den hintergrund auf transparent stellt sicher, dass wird es sein, die Teilnahme an der hit-detection.Alternative Lösung, wäre sicherzustellen, dass Sie
Grid
element dehnt sich horizontal und vertikal zu passen die container....
Ziehen Sie auch die
ContextMenu
als eine statische Ressource, so dass es leichter zu suchen/Bearbeiten in der Zukunft.Hoffe, das hilft (und mein Gedächtnis hat mich nicht im Stich).
EDIT: ich habe eine ähnliche Frage beantwortet, die auf StackOverflow zuvor, siehe bitte meine Antwort auf WPF: Anzeigen eines Kontextmenüs für ein GridView-Items. Diese Antwort ist mehr vollständig, wie es setzt den Fokus auf die
ListItem
.Als Sie bereits realisiert haben, - Dank an Dennis, müssen Sie einige Hintergrundinformationen. Ja, der hintergrund transparent ist auch OK:
REFERENZ: https://blogs.msdn.microsoft.com/domgreen/2008/12/08/wpf-hit-testing-with-event-bubbling/