Domyślnym zachowaniem pliku WPF ContextMenu
jest wyświetlenie go, gdy użytkownik kliknie prawym przyciskiem myszy. Chcę, aby ContextMenu
wyświetlał się, gdy użytkownik kliknie lewym przyciskiem myszy. Wygląda na to, że powinna to być prosta właściwość pod numerem ContextMenu
, ale tak nie jest.Pokaż menu kontekstowe lewym przyciskiem myszy, używając tylko XAML
Podsunąłem to, aby obsłużyć zdarzenie LeftMouseButtonDown
w kodzie z tyłu, a następnie wyświetlić menu kontekstowe.
Używam MVVM w moim projekcie, co oznacza, że używam DataTemplate
s dla elementów, które mają menu kontekstowe. Bardziej elegancko byłoby pozbyć się kodu z tyłu i znaleźć sposób na wyświetlenie menu kontekstowego za pomocą wyzwalaczy lub właściwości w XAML.
Wszelkie pomysły lub rozwiązania tego problemu?
To odejście od standardu w Windows, czy masz dobre uzasadnienie dla tego? –
To jest dobra uwaga, może ja Używaj czegoś innego niż ContextMenu, aby to zrobić. Zasadniczo jest to menu rozwijane, które pojawia się po kliknięciu elementu, a nie przycisku, ale rodzaju buttony.ContextMenu wydawało się oczywistym wyborem, ale może to jest złe. – timothymcgrath
Zobacz moją odpowiedź, która używa Expression Blend Triggers tutaj: http://stackoverflow.com/a/4917707/87912 –