我有一个像这样设置的DataGrid:
<DataGrid
AutoGenerateColumns="True"
GridLinesVisibility="Horizontal"
IsReadOnly="True"
ItemsSource="{Binding Documents}"
SelectionMode="Single"
SelectionUnit="FullRow"
/>
有人可以通过不突出显示单击的单元格来指示我正确的方向,使UI看起来好像选择了整行一样吗?
答案 0 :(得分:0)
你会想要细胞样式的精子。我认为默认的单元格样式会检查IsSelected,如果是边框,则会用黑色笔刷着色。
因为您使用的是AutoGenerateColumns,所以您可能需要在后面的代码中生成列后设置列的样式。
我猜测如果你创建一个样式,检查IsSelected并将borderbrush设置为透明,设置datagrid列的样式(ElementStyle + ElementEditingStyle)然后你应该设置。我是从头脑中写出来的,但这是我想的总体方向。
答案 1 :(得分:0)
感谢Marko指出我正确的方向。以下是我更改数据网格的方式,使其看起来不像任何单元格。相反,现在似乎整行是选择的。我选择将边框的背景设置为当前单元格背景,这样我也不必设置边框粗细。
<DataGrid ...>
<DataGrid.CellStyle>
<Style TargetType="DataGridCell" >
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter
Property="BorderBrush"
Value="{Binding RelativeSource={RelativeSource Self}, Path=Background}"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.CellStyle>
</DataGrid>