2009-09-15 2 views
0

Я пытаюсь вызвать команду, когда моя мышь находится над кнопкой переключения.Xaml привязка к командам

У меня есть следующий код.

<Trigger Property="IsMouseOver" Value="True"> 
<Setter Property="Cursor" Value="Hand"></Setter> 
<Setter Property="Command" Value="{Binding Path=PushPinMouse}" /> 
</Trigger> 

Когда я наматываю мышь, показывает ручку. Но когда я поворачиваю мышь, это не ударит по моему методу PushPinMouse. Почему?

ответ

0

Нет прямого способа сделать это. Общим примером является создание привязанного поведения, которое будет прослушивать данное событие и запускать событие.

Простая, простая реализация продемонстрирована в этом CodeProject arcticle on the Cinch Framwork. Найдите реализацию класса LifetimeEvent. Это обеспечивает присоединенное поведение, которое подписывается на событие «Активированное» в форме. Вы можете так же легко сделать тот, который прослушивает изменения IsMouseOver, и запускает команду.

Если вы написали, что вы могли бы сделать:

<Button local:HoverBehavior.Hovering="{Binding MyCommand}" /> 

Вы можете использовать Behavior<T> класс в Expression Blend SDK реализовать это в более простой форме, а также.

0

Установка Command Свойство кнопки не должно запускать команду. Предполагается указать команду, которая будет срабатывать при нажатии кнопки. MSDN says so сразу:

Получает или задает команду для вызова при нажатии этой кнопки.

+0

Есть идея, что я могу вызвать команду, когда мышь нависает? – 2009-09-15 19:59:53

Смежные вопросы