我有这个在 WinForms 中使用 StripLine 完成的彩色图表。我正在尝试在 WPF 中重新实现它,但我遇到了彩色背景的问题。
如何使 ChartArea 的背景在 WPF Toolkit 的图表控件中表现得像这样?
我有这个在 WinForms 中使用 StripLine 完成的彩色图表。我正在尝试在 WPF 中重新实现它,但我遇到了彩色背景的问题。
如何使 ChartArea 的背景在 WPF Toolkit 的图表控件中表现得像这样?
感谢 Nitesh 的提示和对 wpf 样式的一些研究,我已经弄清楚了。
在 .xaml 中,我添加了一个 LinearGradientBrush 和一个使用它的样式,如下所示:
<Window.Resources>
<LinearGradientBrush x:Key="NormalBrush" EndPoint="1,0" StartPoint="0,0">
<GradientStop Color="Green" Offset="0.0"/>
<GradientStop Color="YellowGreen" Offset="{Binding OnTargetColourChange}"/>
<GradientStop Color="Yellow" Offset="{Binding OnTargetColourChange}"/>
<GradientStop Color="White" Offset="{Binding OnTargetMiddleColourChange}"/>
<GradientStop Color="Yellow" Offset="{Binding OverDryColourChange}"/>
<GradientStop Color="Orange" Offset="{Binding OverDryColourChange}"/>
<GradientStop Color="Red" Offset="1.0"/>
</LinearGradientBrush>
<Style x:Key="PlotAreaStyle" TargetType="{x:Type Grid}">
<Setter Property="Background" Value="{StaticResource NormalBrush}"/>
</Style>
</Window.Resources>
然后在声明图表时,我使用了样式:
<chartingToolkit:Chart
Name="SimulatorChart"
PlotAreaStyle="{StaticResource PlotAreaStyle}">
最后我只需要更新绑定在我的 DataContext 中的值。( OnTargetColourChange
, OnTargetMiddleColourChange
, 和OverDryColourChange
)