Я хочу запретить выбор DataGrid
, поэтому я устанавливаю для свойства IsHitTestVisible
значение false, но затем он также отключает ScrollBar
.
Как включить полосу прокрутки, отключив выделение на DataGrid
?
Я могу сделать следующее:
Я могу изменить цвет выделения на DataGrid
.Проблема в том, что когда я говорю Trigger Property="DataGridRow.IsSelected"
, это не сработает.С другой стороны, если я скажу TriggerProperty="DataGridCell.IsSelected"
, как здесь сказано Выбор строки в DataGrid , он выбирает только первый столбец, а не всю строку.Также, если я скажу, что значение «Прозрачный» для фона, текст в ячейке не отображается.Пожалуйста, помогите.
<DataGrid x:Name="DGRunInfoItems" IsHitTesVisible="False" IsReadOnly="True" ColumnWidth="*" FontSize="{StaticResource BRControlNormalFontSize}" ScrollViewer.VerticalScrollBarVisibility="Auto" HeadersVisibility="None" CanUserAddRows="False" ItemsSource="{Binding RunViewModel.RunInfoDataTable}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Header}">
<DataGridTextColumn.CellStyle>
<Style TargetType="{x:Type DataGridCell}">
<Style.Triggers>
<Trigger Property="DataGridCell.IsSelected" Value="True">
<Setter Property="Background" Value="Transparent"/>
</Trigger>
</Style.Triggers>
<Style.Setters>
<Setter Property="FontWeight" Value="Bold"/>
</Style.Setters>
</Style>
</DataGridTextColumn.CellStyle>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Value}"/>
</DataGrid.Columns>
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Setter Property="MinHeight" Value="28"/>
</Style>
</DataGrid.RowStyle>
</DataGrid>