я получил некоторые проблемы в Datagrid WPFОтключен ряд на DataGrid WPF, чтобы быть отобранным при щелчке правой кнопки мышки
У меня есть DataGrid, и я хочу, чтобы установить свойство IsEnabled из одной строки в ложь, когда пользователь присвоить значение обязательного элемента в DataGrid ItemSource
Так что я сделал это с помощью DataGrid Style триггеров:
<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>
работает нормально, он отключает всю строку, если значение присваивается полю «Колуна» этой строки (отличной от нуля)
Проблема в следующем: я все еще могу щелкнуть и выбрать отключенную строку с помощью правой кнопки мыши ... Свойство IsEnabled блокирует только левую кнопку мыши, нажимает на строки datagrid? Нужно ли устанавливать другое свойство для отключения правой кнопки мыши на этой строке?
Спасибо!
Спасибо! Работала отлично. –