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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос по событиям 
:(
    Опции темы
AleksPingvin
Дата 18.6.2011, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Есть контейнер с навешенным на нем PreviewMouseDown, и есть компонент лежащий в нем с навешенным на него MouseDown. Если я кликаю по компоненту, то вначале происходит событие в контейнере, и только потом в компоненте. Как сделать так что бы событие было ТОЛЬКО в компоненте. Но при этом при клике на других компонентах (другого типа) или на свободной области контейнера срабатывало PreviewMouseDown контейнера. 
Первое что приходит в голову - смотреть в обработчике контейнера, есть ли под точкой клика нужный комопнент и если есть, то не обрабатывать событие. Но думаю что это не айс буде...
PM MAIL   Вверх
AleksPingvin
Дата 18.6.2011, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Ребят ну подскажите пожалуйста решение. Очень надо. Вот прямо горит((((
PM MAIL   Вверх
-Mikle-
Дата 20.6.2011, 06:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

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



А тебе обязательно использовать PreviewMouseDown в контейнере? Если нет, то используй в контейнере MouseDown. В нужном компоненте в обработчике MouseDown выставляй e.Handled = true, это запрещает дальнейшее распространение события по дереву элементов и оно не дойдет до контейнера. В случае с PreviewMouseDown событие начинает сползать вниз, то есть сначала в контейнере, а затем до твоего элемента в нем. В таком случае уже, получается, поздно что-либо предпринимать для остановки маршрутизации события.


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
AleksPingvin
Дата 20.6.2011, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Проблема уже решена) Но возник другой вопрос. При перетаскивании я например рисую adorner, удаляю его по событию Drop. Но. Если я помещу курсор с Adorner-ом, над компонентом с AllowDrop="false" то при отпускании событие Drop не произойдет и код не отработает. Как отловить эту ситуацию?

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


 




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


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

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