Ist es möglich, fügen Sie Kontext-Menü, um ein wpf-Steuerelement und habe es geöffnet auf der linken Maustaste (im Gegensatz zu üblicher, mit der rechten Maustaste)? Ich möchte erreichen, dass die Verwendung von xaml-nur (das sollte ein Teil meiner Steuern - anzeigen-Vorlage).
InformationsquelleAutor Tomasz Grobelny | 2012-07-16
Hier ist ein Weg, um zu zeigen Kontext-Menü auf der linken klicken Sie auf:
Erstellen Sie eine neue linke Taste-handler auf die
Border
element:und fügen Sie dann diese:
Was es tut, ist es im Grunde maps Links-Klick in der rechten Maustaste. Für die Wiederverwendbarkeit, können Sie wickeln Sie diese in einem angebrachten Verhalten.
InformationsquelleAutor Erti-Chris Eelmaa
Hier ist, wie ich tun würde, ein einfaches Beispiel, was ich Vorschlage:
XAML:
Und der code-behind:
Ich habe auch die extra MouseRightButtonUp Ereignis zu hemmen der rechten Maustaste auf pop-up Kontext-Menü.
Ich Stimme mit dem Fehler. Sollten Sie eine Veranstaltung setter. Ich glaube nicht, dass es ist ein effektiver Weg, das zu tun, einen Stil, denn man muss es zu Problemen auf ein bestimmtes Ereignis.
InformationsquelleAutor Xcalibur37
Erstellen Sie eine Methode programmgesteuert zu dem öffnen ein Untermenü wie bereits in diesem Artikel SO:
Zeigen Sie im Menü programmgesteuert in WPF
Erstellen Sie ein Ereignis für LeftMouseButtonDown und rufen Sie das Ereignis in XAML.
Dies ist der code-behind der view ist Teil der view. Was du meinst wäre im Hinblick auf die Umsetzung dieses code in ein ViewModel, und ich behaupte nicht, dass überhaupt.
Ok, soll es so sein. Aber immer noch verstehe ich nicht die "Erstellen Sie ein Ereignis für LeftMouseButtonDown und rufen Sie die Methode" Teil. Ich habe einen style für mein Steuerelement innerhalb Generic.xaml. Ich möchte das Kontextmenü erscheint, wenn ich auf eines der Steuerelemente definiert in diesem Stil zB. Bild-Steuerelement. So habe ich versucht, hinzuzufügen MouseUp="Methode", um die Image-tag, aber ich bekomme die Meldung: Fehler MC4007: Das Ereignis "MouseUp' kann nicht angegeben werden, auf ein Target-tag in einem Stil. Verwenden Sie ein EventSetter statt. Wie kann ich Draht, den event-handler in einem Stil? Wo soll ich meine Methode gefunden werden? Generisches.xaml.cs?
Ich setze eine Probe in einer separaten Antwort.
InformationsquelleAutor Xcalibur37