Si no podemos vincular el comando de MouseBinding, ¿qué se supone que debemos hacer?
-
07-07-2019 - |
Pregunta
Me encantaría poder usar un MouseBinding
normal para capturar un evento CTRL-Click en mi TextBlock
. Lamentablemente, la propiedad Command
no es una propiedad de dependencia y estoy usando MVVM, por lo que no puedo vincularla a mi modelo de vista.
¿Cómo podría Microsoft haber omitido esta funcionalidad básica? ¿No hay formas fáciles de detectar CTRL-Clicks y vincularlos a un comando en mi modelo de vista?
Solución
Siempre puedes echar un vistazo usando Comando adjunto Comportamientos .
Otros consejos
Originalmente creo que me refería al uso del miembro TextBlock
en InputBindings
.
En .NET 4 InputsBinding
s ahora hereda de Freezable
, por lo que ahora la propiedad Command
es propiedad de dependencia (vea Soporte de enlace en InputBindings ), resolviendo el problema de enlace.
Si está atascado con .NET 3.5, puede crear algunas propiedades adjuntas para cualquier tipo de evento que desee. En su función OnCommandChanged
, agregue el controlador de eventos y filtre según los modificadores (como la tecla Control
o el ClickCount
) en su PropertyChangedCallback
método.