Erhalte die MenuItem
und tue:
Einfach zu erreichen:
%Vor%Code-Behind:
%Vor% Ich finde, dass die Verwendung von IsSubmenuOpen
den Fokus nicht korrekt aus dem Menü entfernt, das den MenuItem
enthält (besonders wenn das Menü in einer ToolBar ist) - der oberste MenuItem
bleibt Selected
, obwohl das Menü ist "Geschlossen"). Ich finde das Senden eines MouseUp
-Ereignisses an die MenuItem
funktioniert besser (im Ereignishandler der Schaltfläche oder des verschachtelten Steuerelements, Click-Ereignis):
Steve danke für deine Lösung. Das ist eigentlich die richtige Antwort und schließlich etwas, das wirklich neben vielen schlechten Antworten über das Internet funktioniert. Ich habe eine kürzere (und sicherere) Lösung basierend auf Ihrem Verstärker. Da das direkte Parent (e.Parent) der Schaltfläche nicht immer MenuItem ist (aus der ursprünglichen Antwort, die StackPanel ist), wird Ihre Lösung nicht funktionieren. Setzen Sie einfach die Eigenschaft Name des MenuItem (Name="MyMenuItem") und haken Sie diesen Handler auf dem Button:
%Vor%