2009-09-15 3 views
5

Mi piacerebbe poter utilizzare un normale MouseBinding per acquisire un evento CTRL-Click sul mio TextBlock. Sfortunatamente la proprietà Command non è una proprietà di dipendenza e sto utilizzando MVVM, quindi non posso associarlo al mio viewmodel.Se non possiamo associare un comando MouseBinding, cosa dovremmo fare?

In che modo Microsoft ha escluso questa funzionalità di base? Non ci sono modi semplici per rilevare Clic CTRL e collegarli a un comando nel mio viewmodel?

+0

Ancora nessuna altra soluzione eccetto quella libreria? –

risposta

4

Originariamente credo che mi riferissi all'uso del membro InputBindingsTextBlock.

In .NET 4 InputsBinding s ora ereditano da Freezable, così ora la proprietà Command è proprietà di dipendenza (vedi Binding support in InputBindings), risolvendo il problema di legame.

Se si è bloccati con .NET 3.5, è possibile creare alcune proprietà associate per qualsiasi tipo di evento desiderato. Nella tua funzione OnCommandChanged aggiungi il gestore di eventi e il filtro basato su modificatori (come la chiave Control o ClickCount) nel tuo metodo PropertyChangedCallback.

+0

Il collegamento è interrotto. – Deantwo

+1

Il collegamento è aggiornato. –