Mat*_*yel 8 wpf wpftoolkit mschart
我使用WPF工具包图表来显示带有数据点的几个系列.我为LineDataPoints创建了样式,这些样式使用画布,在画布上绘制符号(如圆圈).
这是样式定义之一:
<Style x:Key="CircleDataPointStyleRed"
TargetType="chartingToolkit:LineDataPoint">
<Setter Property="Background"
Value="Red" />
<Setter Property="IsTabStop"
Value="False" />
<Setter Property="Width"
Value="10" />
<Setter Property="Height"
Value="10" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="chartingToolkit:LineDataPoint">
<Canvas>
<Ellipse Height="10"
Width="10"
Stroke="Red" />
</Canvas>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Run Code Online (Sandbox Code Playgroud)
当我将数据加载到视图模型中时,图表会正确显示,线条可见,并且绘制的数据点居中到正确的位置,因此圆的中心点位于实际数据点的位置.现在,当我将一组不同的数据加载到图表中时(更改LineSeries绑定的ObservableCollections),仍然可以正确绘制线条,但圆圈不会再绘制在中心,而是将其画布的左上角放在实际数据点的位置.当我调整图表大小时,圆圈的位置再次正确.
这里有一些屏幕截图要澄清:
加载第一个数据后:

数据更改为不同值后:

图表调整后:

到目前为止我尝试过的(每个都无济于事):
即使在更改数据后,如何才能在正确的位置绘制数据点?