Подтвердить что ты не робот

Отключите правый клик (нажмите и удерживайте) в приложении WPF.

Я работаю над приложением для сенсорного экрана, которое работает в Windows XP Standard. При использовании текущего оборудования для вызова правой кнопки мыши пользователь должен щелкнуть и удерживать его в течение нескольких секунд, но это может помешать другим действиям, таким как удерживание кнопки повтора в scrollviewer, поэтому я решил отключить правый щелчок.

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

4b9b3361

Ответ 1

Вы можете переопределить OnPreviewMouseRightButtonDown в окне и установить Handled на true. Вам также необходимо обработать OnPreviewMouseRightButtonUp (спасибо Виталию за указание на это)

Это должно сделать трюк.

Ответ 2

Подход OnPreviewMouseRightButtonDown/Up не работал у меня.

  • Однако существует свойство Stylus.IsPressAndHoldEnabled на UIElement. Установите для этого значение false, чтобы избавиться от пресса и нажмите правую кнопку мыши. Я тестировал это на Windows 7 с .NET 4.0, но свойство доступно из .NET 3.0.

    < RepeatButton Stylus.IsPressAndHoldEnabled = "false"... / >

  • Существует также blogpost здесь, в котором приведен пример кода для аналогичного отключения нажатия и удержания на уровне окна. Но при этом события PreviewTouchDown и TouchDown не будут подняты, как только палец коснется экрана (что было бы необходимо для RepeatButton, я думаю), только позже. Прочитайте "Замечания" на этой странице msdn.