我已經閱讀了很多關於使用與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