1
可能重複:
Binding SelectedItems of Listview如何從ListView控件SelectedItems在我的ViewModel
我有一個ListView和用戶可以選擇多個項目。我需要從我的View Model中獲得從ListView中選擇的項目列表。
請建議從ListView中獲取SelectedItems。
謝謝
可能重複:
Binding SelectedItems of Listview如何從ListView控件SelectedItems在我的ViewModel
我有一個ListView和用戶可以選擇多個項目。我需要從我的View Model中獲得從ListView中選擇的項目列表。
請建議從ListView中獲取SelectedItems。
謝謝
有兩種方法,我通常做這個
如果我只需要知道什麼是選擇一個命令的目的,我將設置我在ViewModel
RelayCommand
或DelegateCommand
期待IList<SomeClass>
類型和參數傳遞ListView.SelectedItems
在作爲CommandParameter
<Button Command="{Binding SomeCommand}"
CommandParameter="{Binding ElementName=MyListView, Path=SelectedItems}" />
另一種方法我經常使用是創建一個IsSelected
財產上的任何數據項在ListView
被使用,並將其綁定到ListViewItem.IsSelected
財產
<Style TargetType="{x:Type ListViewItem}">
<Setter Property="IsSelected" Value="{Binding IsSelected}" />
</Style>
然後我ViewModel
可以發現,如果通過觀察它選擇與否的項目的IsSelected
財產
foreach(var item in MyCollection)
{
if (item.IsSelected)
// Do work
}
有一個博客文章解決這個問題:http://blog.functionalfun.net/2009/02/how-to-databind-to-selecteditems.html – ekholm