![]() |
|
Модераторы: gambit, Kefir, Partizan |
![]()
|
|
| Rohoss |
|
|||
![]() Начальник интернета ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1308 Регистрация: 9.10.2006 Где: Matrix Репутация: 4 Всего: 18 |
Есть контрол ListView, который содержит три элемента. Примерно выглядит всё так.
Как мне, при клике правой кнопки мыши на ListView узнать, находится ли курсор на каком-то из трёх элементов ListView или в пустой области (Той области ListView, где нет элементов)? Мне кажется решение должно содержатся в самом ListView, но не нашёл |
|||
|
||||
| WolfTheGrey |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 21.1.2009 Где: forum.vingrad.ru Репутация: 2 Всего: 2 |
Пробовал ни как, Нужно обрабатывать два события:
MouseLeftButtonDown="ListBox_MouseLeftButtonDown" - который обрабатывается событием MouseButtonEventArgs SelectionChanged="ListBox_SelectionChanged" а этот SelectionChangedEventArgs |
|||
|
||||
| Rohoss |
|
|||
![]() Начальник интернета ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1308 Регистрация: 9.10.2006 Где: Matrix Репутация: 4 Всего: 18 |
||||
|
||||
| Kaerus |
|
|||
|
WPF'er ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 3.9.2010 Репутация: 1 Всего: 1 |
А зачем тебе это надо и ну что должно произойти (там событие вызваться или что). Потому как есть идеи, но надо цель уточнить.
|
|||
|
||||
| Rohoss |
|
|||
![]() Начальник интернета ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1308 Регистрация: 9.10.2006 Где: Matrix Репутация: 4 Всего: 18 |
||||
|
||||
| WolfTheGrey |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 21.1.2009 Где: forum.vingrad.ru Репутация: 2 Всего: 2 |
ёпть.
То что ты хочешь, сделать реально. Но пока моих знаний хватает на то, чтоб контекстменю прописывать в ручную. вот что у меня получилось:
Можно сделать и так: (прописать сонекстменю в контейнее листбокса) но в этом коде чего то не хватает, или что то не правельно.
|
||||
|
|||||
| WolfTheGrey |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 21.1.2009 Где: forum.vingrad.ru Репутация: 2 Всего: 2 |
забей на то, что выше писал, все на много проще:
|
|||
|
||||
| Rohoss |
|
|||
![]() Начальник интернета ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1308 Регистрация: 9.10.2006 Где: Matrix Репутация: 4 Всего: 18 |
WolfTheGrey, спасибо конечно, но тут дело в другом. Вызывается не контекстное меню WPF, а контекстное меню проводника. Есть класс, который принимает параметром элемент списка и точку(Point) а потом вызывает для них контекстное меню. Поэтому обрабатывать приходится клик правой кнопкой мыши…
|
|||
|
||||
| WolfTheGrey |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 21.1.2009 Где: forum.vingrad.ru Репутация: 2 Всего: 2 |
Немножко кода в студию пожалуйста.
от части интересует:
|
|||
|
||||
| Kaerus |
|
||||
|
WPF'er ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 3.9.2010 Репутация: 1 Всего: 1 |
Как обычно в голову приходит использование WPF Behaviors
А вот применения в шаблоне (оптимальность решения не гарантирую, но работает)
|
||||
|
|||||
| Rohoss |
|
|||
![]() Начальник интернета ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1308 Регистрация: 9.10.2006 Где: Matrix Репутация: 4 Всего: 18 |
Kaerus, я так понимаю, использовать сборку содержащую класс Behavior<T> можно, установив Expression Blend? В библиотеках .NET 3.5 его нет?
|
|||
|
||||
| Kaerus |
|
|||
|
WPF'er ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 3.9.2010 Репутация: 1 Всего: 1 |
Где то читал, что формально поведения не являются частью WPF, а появились в Exression Studio. Поэтому нужно будет поставить бленд и желательно 4 (если не ошибаюсь generic behaviors появились именно в 4.0 версии).
P.S. A Blend надо ставить однозначно. Лично я сейчас уже не представляю как можно работать с WPF без бленда |
|||
|
||||
| DenWPF |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
если я верно понял задачу, то при нажатии правой кнопки если это listitem то он выделиться, а значит у ListBox будет SelectedItem.
используй это. только там вроде надо будет повесить событие и функцию
Это сообщение отредактировал(а) DenWPF - 23.10.2010, 17:39 |
|||
|
||||
| Rohoss |
|
|||
![]() Начальник интернета ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1308 Регистрация: 9.10.2006 Где: Matrix Репутация: 4 Всего: 18 |
если элементы будут выделены и щёлкнуть правой кнопкой в пустую область они и останутся выделенными.
|
|||
|
||||
| DenWPF |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
может быть я уже не помню что этот код делал...аа вроде он наоборот что когда нажимаешь правой кнопкой на элементе что бы он выделлялся
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |