Se non riusciamo a legare il comando di MouseBinding, cosa dovremmo fare?
-
07-07-2019 - |
Domanda
Mi piacerebbe poter usare un MouseBinding
normale per catturare un evento CTRL-Click sul mio TextBlock
. Sfortunatamente la proprietà Command
non è una proprietà di dipendenza e sto usando MVVM, quindi non posso collegarla al mio modello di visualizzazione.
In che modo Microsoft avrebbe potuto tralasciare questa funzionalità di base? Non ci sono modi semplici per rilevare i clic CTRL e associarli a un comando nel mio modello di visualizzazione?
Soluzione
Puoi sempre dare un'occhiata all'utilizzo di Comando allegato comportamenti .
Altri suggerimenti
Inizialmente credo di riferirmi all'uso del membro TextBlock
InputBindings
.
In .NET 4 InputsBinding
ora ereditano da Freezable
, quindi ora la proprietà Command
è proprietà di dipendenza (vedere Supporto di binding in InputBindings ), risolvendo il problema di associazione.
Se sei bloccato con .NET 3.5 puoi creare alcune proprietà associate per qualsiasi tipo di evento che desideri. Nella funzione OnCommandChanged
aggiungi il gestore eventi e filtra in base ai modificatori (come il tasto Control
o ClickCount
) nel tuo PropertyChangedCallback
.