Кнопка не нажимает, если я обрабатываю содержимое - PullRequest
0 голосов
/ 18 июня 2010

У меня такая ситуация:

<Button MouseDown="Button_MouseDown" Click="Button_Click">
    <TextBlock MouseDown="Inner_MouseDown">Button</TextBlock>
</Button>

Метод Inner_MouseDown полностью пуст. .Handled НЕ установлен в true. Но Button_Click не выполняется. Если я удалю MouseDown = "Inner_MouseDown", кнопка нажимается без проблем. Кто-нибудь может мне помочь выяснить, почему обработка MouseDown без логики предотвращает нажатие кнопки?

Большое спасибо.

Андрей

Ответы [ 2 ]

1 голос
/ 18 июня 2010

ОК, я обнаружил что-то важное. Кажется, это работает хорошо, пока я не добавлю точку останова в метод Inner_MouseDown. Если отладчик останавливается, событие Click не возникает. Если я просто уберу точку останова, она будет работать нормально. Та же проблема, если я показываю окно сообщения в методе Inner_MouseDown. Если я просто увеличу некоторую временную переменную, это будет хорошо работать.

Но это отвечает на мой вопрос, почему он не работает, даже если должен. На самом деле это работает, проблема в другом месте.

0 голосов
/ 06 апреля 2011

Мое предположение: это может быть потому, что Click == MouseDown + MouseUp в течение небольшого интервала времени, и когда вы прерываете после MouseDown, MouseUp не обрабатывается, пока не истечет интервал времени.

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