Il comportamento predefinito di un WPF ContextMenu
è di visualizzarlo quando l'utente fa clic con il pulsante destro del mouse. Voglio il ContextMenu
da mostrare quando l'utente fa clic-sinistro. Sembra che questa dovrebbe essere una semplice proprietà su ContextMenu
, ma non lo è.Mostra menu contestuale su clic sinistro utilizzando solo XAML
L'ho attrezzato, in modo da gestire l'evento LeftMouseButtonDown
nel code-behind e quindi visualizzare il menu di scelta rapida.
Sto utilizzando MVVM nel mio progetto, il che significa che sto usando DataTemplate
s per gli elementi che hanno i menu di scelta rapida. Sarebbe molto più elegante sbarazzarsi del code-behind e trovare un modo per visualizzare il menu contestuale utilizzando i trigger o le proprietà in XAML.
Qualche idea o soluzione a questo problema?
È una deviazione dallo standard di Windows, hai una buona giustificazione per fare questo? –
Questo è un buon punto, forse io shou Utilizzerei qualcosa di diverso dal ContextMenu per fare questo. È fondamentalmente un menu a discesa che appare quando si fa clic sull'elemento, non su un pulsante, ma su un pulsante.ContextMenu sembrava una scelta ovvia, ma forse è sbagliato. – timothymcgrath
Vedere la mia risposta che utilizza Expression Blend Triggers qui: http://stackoverflow.com/a/4917707/87912 –