【发布时间】:2016-04-14 07:59:54
【问题描述】:
我做了两个图表。在他们两个是一个单一的折线图。它们在 x 轴和 y 轴上具有不同的值。但我想同时展示它们。所以我必须使第二个图表的背景和轴透明。只有线条应该保持可见,以便我可以在第一个图表中看到它。对于第二个图表,轴不再正确并不重要。
这是我已经编码的 XAML。如何将背景和轴更改为透明或隐藏?:
<chartingToolkit:Chart Background="White" BorderThickness="0">
<chartingToolkit:LineSeries DependentValuePath="Value" IndependentValuePath="Key" ItemsSource="{Binding DemandPrice}" IsSelectionEnabled="True" Visibility="{Binding TodayVisible}">
<chartingToolkit:LineSeries.Style>
<Style TargetType="chartingToolkit:LineSeries" BasedOn="{StaticResource {x:Type chartingToolkit:LineSeries}}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="chartingToolkit:LineSeries">
<Canvas x:Name="PlotArea">
<Polyline x:Name="polyline"
Points="{TemplateBinding Points}"
Style="{TemplateBinding PolylineStyle}"
StrokeThickness="4" >
<Polyline.Stroke>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="Gray" Offset="0"/>
<GradientStop Color="Gray" Offset="1"/>
</LinearGradientBrush>
</Polyline.Stroke>
</Polyline>
</Canvas>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</chartingToolkit:LineSeries.Style>
<chartingToolkit:LineSeries.DataPointStyle>
<Style TargetType="chartingToolkit:LineDataPoint">
<Setter Property="Background" Value="Transparent" />
</Style>
</chartingToolkit:LineSeries.DataPointStyle>
</chartingToolkit:LineSeries>
</chartingToolkit:Chart>
<chartingToolkit:Chart Background="Transparent" BorderThickness="0">
<!-- EEX Price-->
<chartingToolkit:LineSeries DependentValuePath="Value" IndependentValuePath="Key" ItemsSource="{Binding EEXPrice}" IsSelectionEnabled="True" Background="{StaticResource AccentColorBrush}" Visibility="{Binding EEXVisible}">
<chartingToolkit:LineSeries.Style>
<Style TargetType="chartingToolkit:LineSeries" BasedOn="{StaticResource {x:Type chartingToolkit:LineSeries}}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="chartingToolkit:LineSeries">
<Canvas x:Name="PlotArea">
<Border
Background="Transparent"
BorderBrush="Transparent"
BorderThickness="0">
</Border>
<Polyline x:Name="polyline"
Points="{TemplateBinding Points}"
Style="{TemplateBinding PolylineStyle}"
StrokeThickness="4">
<Polyline.Stroke>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="Blue" Offset="0"/>
<GradientStop Color="Blue" Offset="1"/>
</LinearGradientBrush>
</Polyline.Stroke>
</Polyline>
</Canvas>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</chartingToolkit:LineSeries.Style>
<chartingToolkit:LineSeries.DataPointStyle>
<Style TargetType="chartingToolkit:LineDataPoint">
<Setter Property="Background" Value="Transparent" />
</Style>
</chartingToolkit:LineSeries.DataPointStyle>
</chartingToolkit:LineSeries>
<chartingToolkit:Chart.LegendStyle>
<Style TargetType="datavis:Legend">
<Setter Property="Width" Value="0" />
</Style>
</chartingToolkit:Chart.LegendStyle>
</chartingToolkit:Chart>
【问题讨论】:
-
因为它们的轴上有不同的值范围。图表 1 的 y 值最高为 14.000,但图表 2 的 y 值仅介于 0 和 35 之间。所以图表 2 将显示为图表底部的一条线,如果我将其显示在同一张图表,
标签: c# wpf xaml charts wpftoolkit