Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
24.12.2010, 12:53
|
|||
|---|---|---|---|
ListBox, работа событий KeyDown и MouseLeftButtonDown |
|||
|
#18+
Допустим, у нас есть ListBox. Он привязан к источнику данных через биндинг в зэмле. Код: plaintext Код: plaintext Код: plaintext 1. 2. 3. 4. 5. Нам нужно как-то взаимодействовать с ListBox. Для этого используем KeyDown и MouseLeftButtonDown. Тут возникают проблемы: KeyDown работает отлично, в отличие от MouseLeftButton. Взаимодействие с KeyDown следующее: Нажатие на клавишу -> вызов обработчика, в e.OriginalSource которого -- объект из коллекции. Что и требуется. Здесь начинается интересное: ListBox сам обрабатывает событие клика, только если в нем нет элементов, а если есть, то событие перенаправляется в ListBoxItem, где выставляется e.Handled в true, после чего сам ListBox его уже не обрабатывает. Из рефлектора: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Для того, чтобы событие обрабатывал и сам ListBox, нужно следующее: Код: plaintext 1. Теперь, когда по левому клику в ListBox вызывается обработчик левого клика, вроде бы все хорошо. Но в e.OriginalSource при обработке приходит не объект коллекции, а либо Image, либо TextBlock, в зависимости от того где был клик. Как вернуть объект коллекции по клику? Почему обработка KeyDown и MouseLeftButtonDown отличается? Возможно следует делать по другому? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=21&tablet=1&tid=1442532]: |
0ms |
get settings: |
5ms |
get forum list: |
7ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
30ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
21ms |
get tp. blocked users: |
1ms |
| others: | 8ms |
| total: | 82ms |

| 0 / 0 |
