Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > Обработка SelectionChanged в ListView


Автор: ДобренькийПапаша 24.8.2011, 09:33
Проблема в том, что у меня есть ListView, который содержит множество checkbox. Если пользователь кликает на самом маркере, то срабатывает Checked\Unchecked, а SelectionChanged в ListView не срабатывает. А мне надо, что сначала получить ссылку на выбранную строку, а затем обработать Checked\Uncheked. Что делать?

Пришла в голову только одна идея. Сделать checkbox-ам IsEnabled = false, чтобы пользователь не мог на них щёлкать и переопределить шаблон, чтобы строка не становилась серой. Но это через жопу.

Автор: Gvozdin 24.8.2011, 09:41
Если ваше решение будет работать то это то что вам надо smile

Непонятен ваш сценарий, зачем сначала вам SelectionChanged?

То ли вы хотите синхронизировать выбранные чекбоксы с выбранными элементами в ListView.
Или же просто хотите получить SelectionChanged что бы узнать какая строка с чек боксом отмечена.

Автор: ДобренькийПапаша 24.8.2011, 10:06
Цитата(Gvozdin @  24.8.2011,  09:41 Найти цитируемый пост)

То ли вы хотите синхронизировать выбранные чекбоксы с выбранными элементами в ListView.
Или же просто хотите получить SelectionChanged что бы узнать какая строка с чек боксом отмечена. 

Короче мой ListView привязан к списку классов Station. Мне надо предоставить множественный выбор. Я думаю, что сделаю мультивыбор и выкину чекбоксы в топку smile

Автор: Gvozdin 25.8.2011, 13:38
Так в чем проблема собственно? Включите мультиселект SelectionMode="Multiselect" у ListBox

Далее синхронизируйте чекбоксы со списком выбора ListBox.
OnChecked => ListBox.SelectedItems.Add() (или же ListViewItem.IsSelected = true)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)