我有一个显示为列表框的项目列表。带有复选框的ListView
<ListView ItemsSource="{Binding ListOfSomeItems}">
<ListView.View>
<GridView>
<GridViewColumn Header="Name" DisplayMemberBinding="{Binding Name}"/>
<GridViewColumn Header="Status">
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding IsReceived}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
现在有2例用户我需要实现:
1)当用户所收到(该复选框接受检查),我需要更新的项目标志的项目。我应该如何将检查的事件绑定到我的ViewModel中的ICommand?
2)当用户试图删除接收到的标志(取消选中复选框)时,应该弹出一个选项来取消操作(如果有人点击了复选框)或者提供一个原因说明。该注释以及未被选中的项目应该发送到虚拟机中的不同ICommand。
有什么建议吗?
在此先感谢
UPDATE: 我的视图模型做农具INoftiyPropertyChanged,但我没有对单个项目属性。该属性嵌套在复杂的类中:类似于Account.Holders [x] .Requirements [y] .IsReceived。
关于问题1,你不必使用一个ICommand。当用户检查CheckBox时,在VM中调用属性Set方法。 – jpsstavares
@jpsstavares - 该属性嵌套在复杂类中:类似于Account.Holders [x] .Requirements [y] .IsReceived。我最好执行一个命令而不是遍历层次结构。 –