我正在自定义 wpf 数据网格,我遇到的问题是我已经设置了 RowStyle 和 RowDetails 模板,在下面的 Row 样式中,我只是将 Row Background 设置为一些橙色渐变画笔:
<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}">
<Setter Property="Background" Value="White" />
<Style.Triggers>
...
<Trigger Property="IsSelected" Value="True">
<Setter Property="Height" Value="24" />
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1" Opacity="0.9">
<GradientStop Color="White" Offset="0.0" />
<GradientStop Color="Orange" Offset="0.2" />
<GradientStop Color="#FF4500" Offset="0.8" />
<GradientStop Color="#EE4000" Offset="0.9"/>
<GradientStop Color="White" Offset="1.0" />
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
这一切正常,直到我决定设置 RowDetailsTemplate,当在 Datagrid 中选择行时,它会导致渐变画笔拉伸到现在也适合详细信息部分,直到你只看到顶部褪色的橙色. 现在我假设这种情况正在发生,因为行详细信息模板是行的一部分。
但是我在徘徊,如果有远离我可以阻止这种情况发生吗?
一种解决方法是设置单元格样式,但这会导致新问题,例如不是整行都着色,即在网格的末尾有一些空白空间,当您设置单元格样式时,这不会被填充。