2014-12-30 4 views
0

У меня есть listview в форматах xamarin, при этом itemsource является массивом строк. У меня также есть шаблон ячейки, который имеет привязку к этой строке, и галочку, которая установлена ​​в невидимую. Когда элемент выбран, я хочу, чтобы ячейка, отображающая галочку этого элемента, стала видимой. Каков наилучший способ приблизиться к этому? Кажется, что обработчик выбора элементов только обрабатывает исходные данные, а не саму клеткуXamarin Forms ListView получает выделенную ячейку

ответ

3

Вместо привязки непосредственно к List<string>, создать ViewModel, который содержит string и bool. Затем привяжите свой ListView к List<MyViewModel> и привяжите свойство IsVisible к галочке к свойству bool. Когда элемент выбран, установите для свойства bool значение true, чтобы показать галочку.

Это немного PITA, но единственный способ сделать это, о котором я знаю, с текущим состоянием элемента управления ListView. И в долгосрочной перспективе использование ViewModel - это хорошая практика.

Немного более хакерский способ сделать это будет использовать Dictionary<string,bool> вместо пользовательской ViewModel.

+0

Я надеялся, что есть что-то очевидное, что я отсутствовал, но, я думаю, нет. Это работает для меня! – Daniel

Смежные вопросы