我有一个 ListView,用户可以选择多个项目。我需要在我的视图模型中获取从 ListView 中选择的项目列表。
请建议从 ListView 中获取 SelectedItems。
谢谢
我有一个 ListView,用户可以选择多个项目。我需要在我的视图模型中获取从 ListView 中选择的项目列表。
请建议从 ListView 中获取 SelectedItems。
谢谢
我通常有两种方法
如果我只需要知道出于命令的目的选择了什么,我将设置我的RelayCommand
orDelegateCommand
以ViewModel
期望一个类型的参数IList<SomeClass>
并将ListView.SelectedItems
in 作为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
}