我有一个C#WPF DataGrid 。在管理员模式下,用户可以在DataGrid中高行并选择行,并按下“D”以使用PreviewKeyDown
将其删除。在操作员模式下,此功能将被禁用,用户只能滚动和读取滚动但不能高行或选择要删除的行。
我可以将行设置为高行并删除。但我不知道如何禁用此功能。 我试过了:
IsReadOnly = false
呈现DataGrid不可滚动Focusable = false
用户仍然可以高行并选择行IsHitTestVisible = false
仍然可见.. 如何?
答案 0 :(得分:4)
您可以通过在DataGrid
上设置IsEnabled="False"
,同时保持排序,滚动等,从而禁用DataGridRow
中的选择。
这具有副作用,即大多数元素都会显示“灰显”/禁用外观,但TextBlocks
不是这种情况。
<DataGrid ...>
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Setter Property="IsEnabled" Value="False"/>
</Style>
</DataGrid.RowStyle>
<!-- ... -->
</DataGrid>