Pergunta

Eu adoraria ser capaz de usar um MouseBinding regular para capturar um evento CTRL-clique no meu TextBlock. Infelizmente a propriedade Command não é uma propriedade de dependência e estou usando MVVM, então eu não pode ligar para o meu viewmodel.

Como poderia Microsoft ter deixado de fora desta funcionalidade básica? Será que não existem maneiras fáceis de detectar CTRL-Cliques e ligá-los a um comando no meu ViewModel?

Foi útil?

Solução

Você pode sempre dar uma olhada usando anexada Command comportamentos .

Outras dicas

Inicialmente eu acredito que eu estava me referindo ao uso de membro TextBlock de InputBindings.

Em .NET 4 InputsBindings agora herdam Freezable, então agora a propriedade Command é propriedade de dependência (ver Encadernação apoio na InputBindings ), resolvendo o problema de ligação.

Se você está preso com .NET 3.5 você pode criar algumas propriedades anexadas para qualquer tipo de evento que você deseja. Em sua função OnCommandChanged adicionar o manipulador de eventos e filtro baseado em modificadores (como a chave Control ou o ClickCount) em seu método PropertyChangedCallback.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top