1

可能重复:
绑定 Listview 的 SelectedItems

我有一个 ListView,用户可以选择多个项目。我需要在我的视图模型中获取从 ListView 中选择的项目列表。

请建议从 ListView 中获取 SelectedItems。

谢谢

4

1 回答 1

1

我通常有两种方法

如果我只需要知道出于命令的目的选择了什么,我将设置我的RelayCommandorDelegateCommandViewModel期望一个类型的参数IList<SomeClass>并将ListView.SelectedItemsin 作为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
}
于 2012-08-22T16:29:22.607 回答