【发布时间】:2010-09-29 20:34:29
【问题描述】:
我想实现一个面板来设置用户权限。所以我有一个 PermissionListView,其中 ItemSource 是一个 ObservableCollection,在这个 PermissionListView 中,我为每个绑定到 PermissionViewModel.Checked 的项目都有一个复选框。我对其进行了调试,并且可以正常工作。
用户在另一个 ListView(UserListView) 中被选中。但是我没有看到比简单地使用 OnSelectionChanged 事件遍历 ObservableCollection 并设置 PermissionViewModel.Checked = true 或 false 来检查包含在 UserListView.SelectedItem.Permissions 中的权限的更类似于 MVVM 的方法。
但由于属性的更改不会触发 CollectionChanged 事件,因此面板仍会显示最后一个用户的选择。
是否还有类似 MVVM 的方法来完成“检查所有也在 UserListView.SelectedItem.Permissions 中的 PermissionViewModels”?
如果没有,如何在设置列表项的 Checked 属性后在 Listview 中进行可见更新?
【问题讨论】: