我正在定制一个wpf数据网格,我遇到的问题是我已经设置了RowStyle和RowDetails模板,在Row样式中如下所示我只是将行背景设置为一些橙色渐变画笔:< / p>
<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中选择行时,它将导致渐变画笔拉伸到现在也适合细节部分,直到你只看到褪色的橙色在顶部。现在我假设发生了这种情况,因为行详细信息模板是行的一部分。
然而,如果离开我就会徘徊,我可以阻止这种情况发生吗?
一个解决方法是设置单元格样式,但这会导致新问题(例如不是整行)被着色,即在网格的末尾有一些空白空间,这在设置CellStyle时不会被填充。
答案 0 :(得分:0)
您可以显式设置ContentControl的背景颜色位于RowDetailsTemplate中。
<DataGrid.RowDetailsTemplate> <DataTemplate>
<Border Name="RowDetailsTemplateBorder" BorderBrush="#3B73B9" BorderThickness="2" Margin="1" >
<Grid Name="RowDetailsTemplateGrid" Height="180" Background="White">
<Image Height="100" Source="{Binding Image}" />
</Grid>
</Border>
</DataTemplate>
</DataGrid.RowDetailsTemplate>