Отключить двойные клики - PullRequest
1 голос
/ 18 мая 2011

Я пытаюсь отключить двойной щелчок на кнопках, и в настоящее время я знаю только один способ - обработать PreviewMouseDoubleClick и установить e.Handled = true.

Есть ли способ сделать это в стиле кнопки? Или, что еще лучше, отключение двойного щелчка по всему приложению?

Ответы [ 2 ]

2 голосов
/ 18 мая 2011

Я бы использовал прикрепленное поведение ( см. Эту статью ).Например, скажем, я создаю прикрепленное поведение с именем DisableDoubleClickAttachedBehavior, которое обрабатывает событие мыши с двойным щелчком и устанавливает e.Handled = true.

Затем вы можете красиво установить свойство с помощью стиля в XAML:

    <Style x:Key="DisableDoubleClickStyle">
        <Setter Property="p:DisableDoubleClickAttachedBehavior.Enabled" Value="True" />
    </Style>

    <Button Style="{StaticResource DoubleClickDisabledStyle}">Hi!</Button>

Или, вы можете переопределить стиль для всех кнопок (как вы хотели):

    <Style TargetType="Button">
        <Setter Property="p:DisableDoubleClickAttachedBehavior.Enabled" Value="True" />
    </Style>

Я проверил это, и, кажется, работает хорошо.

1 голос
/ 18 мая 2011

Не думаю, что это можно сделать в стиле или в приложении.Лучшей ставкой может быть класс, полученный из Button, который по умолчанию включает этот обработчик событий.

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