Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> События MouseRightButtonUp и MouseLeftButtonUp, класса System.Windows.Window 
V
    Опции темы
mephistopheies
Дата 26.11.2008, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 25.11.2008
Где: Калининград

Репутация: нет
Всего: нет



Есть вот такой код
Код

System.Windows.Window w = new System.Windows.Window();

/*
далее идет какая то инициализация окна, и допустим туда добавилось меню
*/

w.MouseRightButtonUp += new System.Windows.Input.MouseButtonEventHandler(w_MouseRightButtonUp);
w.MouseLeftButtonUp +=new System.Windows.Input.MouseButtonEventHandler(w_MouseLeftButtonUp);


так вот, тыкая на меню правой кнопкой, у окна вылетает событие w_MouseRightButtonUp, в sender как и следовало ожидать лежит w, а в MouseButtonEventArgs содержится ссылка на тот элемент куда реально был клик, например на меню.

а вот при клике по меню левой кнопкой, нифига w_MouseLeftButtonUp не вылетает. но если тыкнуть в другое место окна, то все ок.

так вот в чем фишка, сталкивался ли кто нибудь с такой ситуацией, и как сделать что бы w_MouseLeftButtonUp срабатывало?
PM MAIL WWW ICQ   Вверх
kelus
Дата 27.11.2008, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 4.11.2008
Где: Minsk

Репутация: нет
Всего: нет



а почему бы не повесить дополнительное событие на само меню?
PM MAIL   Вверх
mephistopheies
Дата 27.11.2008, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 25.11.2008
Где: Калининград

Репутация: нет
Всего: нет



Цитата

а почему бы не повесить дополнительное событие на само меню? 

ну по идее так и должно было бы быть, но раз MouseRightButtonUp упрощает работу, то тоже следовало бы ожидать и от MouseLeftButtonUp 

это было бы удобно юзать, когда у тебя есть xaml, ты генеришь форму по нему, и что бы не подписываться на клик каждого контрола, просто подписался на клик по окну, а там уже смотришь куда реально тыкнули. как бы заранее не известно что в xaml'е, и неудобно подписываться на все, т.е. нада обойти все объекты в окне и т.д.
PM MAIL WWW ICQ   Вверх
kelus
Дата 27.11.2008, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 4.11.2008
Где: Minsk

Репутация: нет
Всего: нет



возникла одна догадка - проверил, как оказалось, отдельный обработчик для левой кнопки на  меню тоже не работает.
есть мнение, что там присутствует свой обработчик, который глушит остальные.
PM MAIL   Вверх
Partizan
Дата 27.11.2008, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 67



есть мнение, что надо обрабатывать события Preview.....


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
mephistopheies
Дата 28.11.2008, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 25.11.2008
Где: Калининград

Репутация: нет
Всего: нет



Partizan, спасибо, работает =)
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0403 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.