Ich versuche, einem Element in einer ListBox in WPF ein ContextMenu hinzuzufügen;
%Vor%Das Problem ist, dass das ContextMenu nur geöffnet wird, wenn man auf den tatsächlichen Kontext des Grids klickt. Ich möchte das Menü öffnen können, indem ich irgendwo auf den Listbox-Eintrag klicke.
Sollte ich das Raster in ein anderes Steuerelement einfügen?
Es hat einige Monate gedauert, seit ich jede solide WPF-Entwicklung gemacht habe (wurde von der Anwendungsentwicklung zu einem echten Spielteam verschoben).
Aus dem Speicher möchten Sie die Eigenschaft ContextMenu
für Border
und dann Border.Background=Transparent
festlegen. Wenn Sie den Hintergrund auf transparent setzen, wird sichergestellt, dass er an der Treffererkennung teilnimmt.
Alternative Lösung, wäre sicherzustellen, dass Sie Grid
-Element horizontal und vertikal erstreckt, um den Container zu passen.
...
Ziehen Sie auch ContextMenu
out als statische Ressource, so dass das Suchen / Bearbeiten in der Zukunft einfacher ist.
Hoffe, das hilft (und mein Gedächtnis scheitert nicht an mir).
BEARBEITEN: Ich habe zuvor eine ähnliche Frage zu StackOverflow beantwortet, siehe meine Antwort auf WPF: Anzeigen eines Kontextmenüs für die Objekte eines GridView . Diese Antwort ist vollständiger, da sie den Fokus auf ListItem
setzt.
Tags und Links wpf c# xaml contextmenu