如何使用MVVM在wpf datagrid中获取所选项目

时间:2016-11-15 11:41:17

标签: wpf mvvm

我想获得一些选定的行项目&试着操纵它们。目前 SelectedItem 一次只给我一行。 SelectedItems 不是依赖项属性。我通过创建自己的依赖属性来获取所选项目,从而找到了解决方案。除此之外还有其他选择吗?

1 个答案:

答案 0 :(得分:6)

另一种可能的解决方案是将IsSelected属性添加到您在网格中显示的项目

public bool IsSelected
    {
        get { return _isSelected; }
        set
        {
           RaisePropertyChanged(_isSelected, value);
        }
    }

然后在数据网格行上添加样式以更改该属性。

  <Style TargetType="{x:Type DataGridRow}" >
     <Setter Property="IsSelected" Value="{Binding Path=IsSelected, Mode=TwoWay}" />
  </Style>

然后获取当前选定的项目:

  var selectedItems = Items.Where(i => i.IsSelected).ToList();