Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
7 / 7 / 1
Регистрация: 24.01.2017
Сообщений: 229
1

В обработчике события PreviewMouseLeftButtonDown для ListView получить ListViewItem

06.03.2017, 08:45. Показов 1187. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дело в том, что ListViewItem может иметь произвольный стиль или шаблон. У меня в обработчике, например, получается TextBlock вместо ListViewItem. Мне нужно при клике по элементу списка записать его в свойство SelectedItem. LogicalTreeHelper не помог.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.03.2017, 08:45
Ответы с готовыми решениями:

ListView: добавить картинку в каждый ListViewItem
Здравствуйте. Вот у меня есть WPF окно, на нём ListView: <Window...

ListView не реагирует на изменение ListViewItem.ListViewSubItem.text
Здравствуйте, такая проблема: есть метод делегата, который получает данные из соседнего потока и...

Шаблон для ListView. Изменить внешний вид ColumHeader. Изменить внешний вид ListViewItem'ов. Подробности, код, скриншоты внутри...
Здравствуйте. Есть ListView, я к нему делаю шаблон. И появилось несколько вопросов. 1) Как в...

ListView: как определить в обработчике события выделенный Item
В ListView есть несколько ListViewItem. При двойном щелчке на каком-либо из них он активизируется,...

6
30 / 30 / 9
Регистрация: 15.03.2010
Сообщений: 146
06.03.2017, 22:24 2
В списке есть свойство SelectedItem. Во вьюМодели (или просто контексте этого списка) создай свойство, которое биндится к этому свойству и будет тебе выделенный элемент.
0
7 / 7 / 1
Регистрация: 24.01.2017
Сообщений: 229
07.03.2017, 10:43  [ТС] 3
Цитата Сообщение от I_like_C++ Посмотреть сообщение
В списке есть свойство SelectedItem
Вот это свойство и не работает при клике по элементу списка. Дело не в привязке.
0
3 / 3 / 4
Регистрация: 29.10.2016
Сообщений: 48
07.03.2017, 10:55 4
SharpProg, ты кликнул, ListView выбрал элемент, поместил на него ссылку в SelectedItem своими свредствами уже. после этого просто работаешь с SelectedItem.
можно в VM под него выделиьт параметр на который его биндить из ListView.
Хотя я обычно получаю индекс выделенного элемента, а в VM уже с помощью индекса обращаюсь к элементу в коллекции.
0
7 / 7 / 1
Регистрация: 24.01.2017
Сообщений: 229
09.03.2017, 08:40  [ТС] 5
Цитата Сообщение от subud Посмотреть сообщение
ты кликнул, ListView выбрал элемент, поместил на него ссылку в SelectedItem своими свредствами уже
Я об этом и говорю. Он не может выбрать элемент по клику, если я полностью переписал шаблон для ListViewItem.
0
3 / 3 / 4
Регистрация: 29.10.2016
Сообщений: 48
10.03.2017, 16:02 6
SharpProg, ну так код показывайте. ПО факту, даже перепиливая шаблон, элементы листа остаются и работают точно так же. Просто что то у вас перекрывает элементы и вы не можете его выбрать.
0
7 / 7 / 1
Регистрация: 24.01.2017
Сообщений: 229
11.04.2017, 13:04  [ТС] 7
Код приложил.

Если раскомментировать строки в методе ListView_MouseLeftButtonUp, то выбор элементов будет работать.
Проблемы, которые пока не могу решить:
1) Собственно сам выбор элемента
2) Тип свойства DropDownItemStyleProperty сделать DataTemplate вместо Style, со значением по умолчанию.
3) При клике в поле ввода выделять весь текст, чтобы можно было сразу писать поверх него

Буду благодарен, если скажете как правильнее реализовывать подобные контролы, каким принципам следовать при разработке и, по возможности, поможете исправить код. Мне их нужно написать еще много всяких.
Вложения
Тип файла: 7z CustomControl.7z (131.1 Кб, 6 просмотров)
0
11.04.2017, 13:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.04.2017, 13:04
Помогаю со студенческими работами здесь

Можно ли в обработчике события контрола получить его имя?
Например, есть у нас обработчик TextChanged текстбокса tb. Задача получить значение "tb" для строки...

Как получить значение Select в обработчике события Onchange???
Есть следующий код: <script language='JavaScript'> function SelectMaterial(obj) { ...

Для виртуализации ListView требуется допустимое значение ListViewItem
Приветствую. Продолжаю свои опыты... Перевел ListView в режим virtualmode,список строиться, но...

Как в обработчике события получить из sender имя объекта, вызвавшего событие, а не тип?
Добрый день! Помогите, пожалуйста, решить такой вопрос: Есть 2 объекта класса: private Sphere...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru