我有一个xamarin表单的listview,其中itemsource是一个字符串数组。我还有一个与该字符串绑定的单元格模板,以及一个设置为不可见的复选标记。选择项目时,我希望显示该项目的复选标记的单元格变为可见。解决这个问题的最佳方法是什么?似乎项目选择处理程序只处理基础数据,而不是单元格本身
答案 0 :(得分:4)
不是直接绑定到List<string>
,而是创建包含string
和bool
的ViewModel。然后将ListView
绑定到List<MyViewModel>
,并将复选标记的IsVisible
属性绑定到VM的bool
属性。选择项目后,将bool
属性设置为true以显示复选标记。
它有点像PITA,但是我知道ListView控件当前状态的唯一方法。从长远来看,使用ViewModel是一个很好的做法。
使用Dictionary<string,bool>
而不是自定义ViewModel的方法稍微强硬一些。