Отключите щелчок правой кнопкой мыши (нажмите и удерживайте) в приложении WPF. - PullRequest
12 голосов
/ 11 мая 2011

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

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

Ответы [ 2 ]

22 голосов
/ 02 августа 2011

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

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

  2. Здесь также есть блог здесь , в котором приведен пример кода для аналогичного отключения нажатий и удержания на уровне окна.Но с этим на месте события PreviewTouchDown и TouchDown не будут вызваны, как только палец коснется экрана (что будет необходимо для RepeatButton, я думаю), только позже.Прочитайте «Замечания» на этой странице MSDN .

8 голосов
/ 11 мая 2011

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

Это должно сработать.

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