0
我正在定製一個wpf數據網格,我遇到的問題是我已經在下面的Row樣式中設置了RowStyle和RowDetails模板,我只是將Row Background設置爲一些橙色漸變刷:Datagrid RowDetailsTemplate Stretch RowBackground漸變畫筆
<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。
然而,我之前試過,它只能部分解決問題,因爲行的漸變刷仍然伸展,現在發生的所有情況是,網格將具有不同的彩色背景。換句話說,在行本身,你仍然只能看到拉伸的顏色。 – Heinrich
我在我的測試應用程序中嘗試了相同的方法,它按照您的期望工作。我有RowDetailTemplateSelector類,用於爲各種類型的數據行定義模板併爲模板分配了特定的顏色。除此之外,我還有Datagrid RowStyle,其中我添加了觸發器,用於在某些屬性爲true時更改行背景顏色。 –
但是,您是否使用漸變畫筆進行了嘗試,如果您使用單一顏色的外觀很好,那麼當您使用漸變畫筆發現問題時 – Heinrich