我想获得一些选定的行项目并尝试操纵它们.目前SelectedItem一次只给我一行.而且SelectedItems不是依赖属性.我通过创建自己的依赖属性来获取所选项目,从而找到了解决方案.除此之外有什么选择吗?
另一种可能的解决方案是将IsSelected属性添加到您在网格中显示的项目上
public bool IsSelected
{
get { return _isSelected; }
set
{
RaisePropertyChanged(_isSelected, value);
}
}
Run Code Online (Sandbox Code Playgroud)
然后在数据网格行上添加样式以更改该属性.
<Style TargetType="{x:Type DataGridRow}" >
<Setter Property="IsSelected" Value="{Binding Path=IsSelected, Mode=TwoWay}" />
</Style>
Run Code Online (Sandbox Code Playgroud)
然后获取当前选定的项目:
var selectedItems = Items.Where(i => i.IsSelected).ToList();
Run Code Online (Sandbox Code Playgroud)