Если мы не можем связать команду MouseBinding, что мы должны делать?

StackOverflow https://stackoverflow.com/questions/1427638

Вопрос

Я бы хотел использовать обычную MouseBinding для захвата события CTRL-Click на моем TextBlock . К сожалению, свойство Command не является свойством зависимости, и я использую MVVM, поэтому я не могу связать его с моей моделью представления.

Как Microsoft могла исключить эту базовую функциональность? Нет ли простых способов обнаружить CTRL-клики и привязать их к команде в моей модели представления?

Это было полезно?

Решение

Вы всегда можете взглянуть на использование Присоединенной команды поведения .

Другие советы

Изначально я полагал, что имел в виду использование члена TextBlock для InputBindings .

В .NET 4 InputsBinding теперь наследуются от Freezable , поэтому теперь свойство Command является свойством зависимости (см. Поддержка связывания в InputBindings ), решение проблемы связывания.

Если вы застряли в .NET 3.5, вы можете создать некоторые вложенные свойства для любого типа события, которое вы хотите. В вашей функции OnCommandChanged добавьте обработчик событий и выполните фильтрацию на основе модификаторов (например, ключа Control или ClickCount ) в свой PropertyChangedCallback метод.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top