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