要求:我必须配备一个电压表用户控制。
下面的代码绘制一个由电压表刻度和值组成的弧线。
<Path Name="Pth" Stroke="DarkGray" StrokeThickness="2" Width="Auto" Height="48" Canvas.Top="12">
<Path.Data>
<PathGeometry >
<PathFigure StartPoint="35,28">
<ArcSegment IsLargeArc="False"
Size="23,75"
Point="200,28"
SweepDirection="Clockwise"
RotationAngle="90"/>
</PathFigure>
</PathGeometry>
</Path.Data>正如人们在上面看到的,所用的钢笔是stroke=dark灰色的。我不是在说填充财产。
但是,弧的一个部分必须以蓝色(作为告警值)呈现,以响应用户指定的弧形range.Any部分。
大图是弧线的主要部分,用灰色笔渲染,报警部分是蓝色的。
正如上面所看到的问题,我们只能将笔分配给路径(而不是弧段、几何图形或路径图),路径一次只能使用一支笔。
一个渐变画笔在这里不能工作,因为颜色混合in.Here,两个部分的弧线必须清楚地区别于彼此的颜色。
如果我使用两条路径将弧线分割成2个弧段,我必须接受现有的各种计算,这取决于路径几何的分数值。
我的案子最好的办法是什么?伙计们有什么建议吗?
发布于 2012-12-19 17:54:53
取自here
一个想法可以是使用渐变刷,没有间隔之间的颜色块。
例如:
<Rectangle Width="200" Height="50">
<Rectangle.Fill>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="Red" Offset="0.500"/>
<GradientStop Color="Lime" Offset="0.500"/>
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>会产生如下结果:

尽管我担心您可能很难为它找到正确的偏移量,但是如果应该动态计算它的话。
编辑:你能给我们展示一下这条弧线的大致形状吗?
https://stackoverflow.com/questions/13958211
复制相似问题