我在wpf中使用实时图表。 我想做的是为ScatterSeries图表创建自定义笔画。 我发现在datalabel上应用自定义图像的教程成功。 但是我不能一use而就。
下面是datalabel的代码。该测试有效。
<lvc:ScatterSeries.DataLabelsTemplate>
<DataTemplate>
<Path Data="M 10,10 L 30,10"
Height="40" Width="40"
Stroke="Black"
Fill="Gray"
/>
</DataTemplate>
</lvc:ScatterSeries.DataLabelsTemplate>
但是第二次尝试是失败的。我尝试使用几何图形进行绘制。 这是一个圆圈。但是我会在测试成功后更改它们。
<lvc:ScatterSeries.Stroke>
<DrawingBrush>
<DrawingBrush.Drawing>
<GeometryDrawing>
<GeometryDrawing.Geometry>
<EllipseGeometry Center="50,50" RadiusX="50" RadiusY="50"/>
</GeometryDrawing.Geometry>
</GeometryDrawing>
</DrawingBrush.Drawing>
</DrawingBrush>
</lvc:ScatterSeries.Stroke>
应用自定义笔触需要做什么?
在根据建议进行一些测试之后,我找到了一种自定义笔画的方法。
<lvc:LineSeries Name="referenceDataSeries2"
Values="{Binding Path=ReferenceValues, Mode=TwoWay}"
Stroke="transparent"
Fill="Transparent"
PointGeometrySize="50"
PointForeground="Black"
PointGeometry="m 25 70.36218 20 -28 -20 22 -8 -6 z"
>
</lvc:LineSeries>
但是由于我的知识不足,所以我无法按照自己的意愿制作几何图形。 我在想这是形状。然后申请划一条线。
感谢BenderBoy的帮助。
我几乎达到了想要的目标。所以我发布了这个分享。
这有效。但是我想做更细,更宽的线。现在,“厚度”可以使宽度稍宽一些,但结果是“较厚”。并且无法通过编辑Pointgeometry值使其更宽。
<lvc:ScatterSeries Name="referenceDataSeries2"
Values="{Binding Path=ReferenceValues, Mode=TwoWay}"
Stroke="Black"
StrokeThickness="3"
Fill="Transparent"
PointGeometry="m 0,0 L 10,0 z"
>
</lvc:ScatterSeries>