Datagrid WPF で問題が発生しました
データグリッドがあり、ユーザーがデータグリッド itemSource のバインド項目に値を割り当てるたびに、単一行の IsEnabled プロパティを false に設定したい
だから私はデータグリッドスタイルのトリガーでそれを作りました:
<DataGrid AutoGenerateColumns="False" Margin="9,35,0,6" Name="dataGrid2" ItemsSource="{Binding}" SelectionChanged="dataGrid2_SelectionChanged" IsReadOnly="True" SelectionMode="Single">
<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}">
<Style.Setters>
<Setter Property="IsEnabled" Value="False" />
</Style.Setters>
<Style.Triggers>
<DataTrigger Binding="{Binding Path=Coluna}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="True"/>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
<DataGrid.Columns>
<DataGridTextColumn Header="Campo" Binding="{Binding Path=Campo}" Width="1.4*" CanUserSort="False" />
<DataGridTextColumn Header="Coluna/Constante" Binding="{Binding Path=Coluna}" CanUserSort="False" Width="*" />
</DataGrid.Columns>
</DataGrid>
正常に動作し、その行の「Coluna」フィールドに値が割り当てられると、行全体が無効になります(nullとは異なります)
問題は、マウスの右ボタンを使用して無効な行をクリックして選択できることです...「IsEnabled」プロパティは、データグリッド行でのマウスの左ボタンのクリックのみをブロックしますか?? その行でのマウスの右ボタンのクリックを無効にするには、別のプロパティを設定する必要がありますか?
ありがとうございました!