Захватите клики мыши на WPF TextBox

У меня часто есть псевдонимы для vi, ls, и т.д. но иногда Вы хотите выйти из псевдонима. Просто добавьте наклонную черту влево к команде впереди:

, Например:

$ alias vi=vim
$ # To escape the alias for vi:
$ \vi # This doesn't open VIM

Прохладный, не так ли?

30
задан Dave Clemmer 1 September 2011 в 19:16
поделиться

2 ответа

TextBox Class

TextBox имеет встроенную обработку для всплывающие MouseUp и MouseDown События. Следовательно, пользовательское событие обработчики, которые слушают MouseUp или События MouseDown из TextBox будут не называться . Если вам нужно ответить к этим событиям, слушайте туннелирование PreviewMouseUp и PreviewMouseDown вместо этого, или зарегистрируйте обработчики с помощью Аргумент HandledEventsToo (последний опция доступна только через код). Не отмечать событие как обработанное если вы намеренно не хотите отключить собственную обработку TextBox эти события, и имейте в виду, что это оказывает заметное влияние на управление UI.

В вашем коде вы запускаете только MouseLeftButtonUp

48
ответ дан 27 November 2019 в 23:21
поделиться

Вы можете использовать событие PreviewMouseDown и таким образом фиксировать любые щелчки до того, как внутренние части управления обработают щелчок:

<TextBox x:Name="t" PreviewMouseDown="TextBox_MouseDown" Height="32" Width="274" />
28
ответ дан 27 November 2019 в 23:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: