1
我有一个DataGrid,其中一些行基于网格项目的属性被禁用...在WPF DataGrid中防止禁用行被选中
<DataGrid ItemsSource="{Binding Items}">
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Style.Triggers>
<DataTrigger Binding="{Binding Enabled}" Value="False">
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
</DataGrid>
我想防止非法行从被选中。在上面的例子中,你不能通过点击来选择禁用的行,但有其他的选择方式,例如,Ctrl-A选择所有的行,包括禁用的行,选择一个启用的行,然后shift-点击另一个启用的行也将选择他们之间的任何禁用行等...
有没有办法阻止被禁用的行被选中? (例如,Ctrl-A只会选择启用行)
我不知道你是否可以将它们绑定到一个可观察的集合,并且OnCollectionChanged会过滤出你不想要的那些? – Joe