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