Кнопка WPF - метод при нажатии - PullRequest
2 голосов
/ 23 декабря 2008

Я хочу вызвать метод, когда кнопка находится в состоянии нажатия мыши (IsPressed), и вызвать другой метод, когда она отпущена. Кажется, я не могу найти простой способ сделать это.

Спасибо!

Ответы [ 4 ]

3 голосов
/ 23 декабря 2008

Если вы находитесь в ситуации, когда вы можете использовать привязки, установите привязку OneWayToSource для свойства IsPressed кнопки. Когда свойство источника изменится, выполните ваш код.

Это должно работать независимо от того, как нажата кнопка.

1 голос
/ 23 декабря 2008

Существуют события MouseDown и MouseUp, которые можно обработать, чтобы получить аналогичный эффект. Но это не касается клавиатуры (пробел). Это необходимо сделать с помощью событий KeyDown и KeyUp.

Также следует помнить, что за событием MouseDown МОЖЕТ никогда не последовать событие MouseUp, если пользователь перемещает мышь после нажатия вниз до точки, где она больше не находится над кнопкой. (Думаю, вы можете захватить мышь в MouseDown, чтобы гарантировать получение события MouseUp)

0 голосов
/ 23 декабря 2008

Конечно, есть лучший способ, чем пытаться перехватить события мыши. Какой-то триггер в свойстве IsPressed?

Кроме того, я вполне уверен, что вы не можете получить некоторые события мыши на кнопке, так как она перехватывается системой.

0 голосов
/ 23 декабря 2008

Взгляните на класс Mouse в пространстве имен System.Windows.Input. Доступно MouseDown и MouseUp прикрепленных событий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...