【发布时间】:2015-02-27 00:50:29
【问题描述】:
我有一个 xamarin 形式的列表视图,其中 itemsource 是一个字符串数组。我还有一个与该字符串绑定的单元格模板,以及一个设置为不可见的复选标记。当一个项目被选中时,我希望显示该项目复选标记的单元格变得可见。解决这个问题的最佳方法是什么?似乎项目选择处理程序只处理底层数据,而不是单元格本身
【问题讨论】:
我有一个 xamarin 形式的列表视图,其中 itemsource 是一个字符串数组。我还有一个与该字符串绑定的单元格模板,以及一个设置为不可见的复选标记。当一个项目被选中时,我希望显示该项目复选标记的单元格变得可见。解决这个问题的最佳方法是什么?似乎项目选择处理程序只处理底层数据,而不是单元格本身
【问题讨论】:
创建一个包含string 和bool 的ViewModel,而不是直接绑定到List<string>。然后将您的ListView 绑定到List<MyViewModel>,并将复选标记的IsVisible 属性绑定到VM 的bool 属性。选择项目时,将bool 属性设置为true 以显示复选标记。
这有点像 PITA,但我知道的唯一方法是使用 ListView 控件的当前状态。从长远来看,使用 ViewModel 是一个很好的实践。
一个稍微有点老套的方法是使用 Dictionary<string,bool> 而不是自定义 ViewModel。
【讨论】: