我已经阅读了很多关于使用与IsSelected绑定的复选框来扩展ListView的例子。但我想要更多。WPF - 使用可选和可选ListViewItems扩展ListView
我想检查和选择状态之间的分离,所以我得到一个ListBox有一个选定的项目,但可以有多个检查项目。 不幸的是,ListViewItem没有检查属性,我看不到有可能使ListView与自定义的CheckableListViewItem一起工作。
当然,我可以使用具有checked属性的对象列表作为ItemSource,但我不认为这是一个好方法。检查与否是列表或项目容器的问题,而不是其中列出的对象。除此之外,我不希望所有的类像用户,角色,组都有类似checkableUser,checkableRole和checkableGroup的对应类。
我想要的行为可以easyly accomblished的UI与
<DataTemplate x:Key="CheckBoxCell">
<StackPanel Orientation="Horizontal">
<CheckBox />
</StackPanel>
</DataTemplate>
和
<GridViewColumn CellTemplate="{StaticResource CheckBoxCell}" Width="30"/>
但是,如果没有上的复选框,如果它被选中与否我不能检查结合。
有什么办法可以完成这样的事情吗?对我来说完美的解决方案将是有listView1.SelectedItem,listView1.CheckedItems和可能的listView1.UncheckedItems和当然listView1.CheckItem和listView1.UncheckItem。
感谢您的任何帮助。
只是为了正确,即时通讯谈论ListView和ListViewItem,但它几乎相同。你的海关课程权利,我认为它不会那么复杂。但是为了创建一个ListView.CheckedItems,我需要遍历容器来查找已检查的容器,而我没有办法做到这一点。遍历项目并使用GetContainerForItem仅适用于DependencyObject类型的项目。任何线索? – Marks 2010-05-06 09:17:43