C# WPF相同弧段由2种不同颜色组成

C# WPF相同弧段由2种不同颜色组成,c#,wpf,C#,Wpf,要求:我必须配备电压表用户控制 以下代码绘制一条弧,由电压表刻度和值组成 <Path Name="Pth" Stroke="DarkGray" StrokeThickness="2" Width="Auto" Height="48" Canvas.Top="12"> <Path.Data> <PathGeometry > <PathFigure StartPoint=

要求:我必须配备电压表用户控制

以下代码绘制一条弧,由电压表刻度和值组成

    <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>

正如上面可以看到的,使用的钢笔是笔划=深灰色。我不是说填充属性

但是,弧的一部分必须以蓝色呈现(作为报警值),以响应用户指定的范围。弧的任何部分

大图是弧的主要部分,用灰笔渲染,报警部分为蓝色

正如上面可以看到的问题,我们可以只将画笔指定给路径(而不是圆弧段、几何体或pathfigure),并且路径一次只能使用一支画笔

渐变画笔在这里不起作用,因为颜色混合在一起。在这里,弧的两部分必须在颜色上彼此明显不同

如果使用两条路径将圆弧分割为2个圆弧段,则必须考虑各种现有计算,这取决于路径几何体的分数值

对我来说,什么是最好的方法?有什么建议吗?

来自:

一个想法是使用渐变笔刷,色块之间没有间隔

例如:

<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>

将导致以下情况:

尽管我担心您可能很难找到它的正确偏移量,以防它应该动态计算

编辑:您能告诉我们圆弧的大致形状吗?

取自:

一个想法是使用渐变笔刷,色块之间没有间隔

例如:

<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>

将导致以下情况:

尽管我担心您可能很难找到它的正确偏移量,以防它应该动态计算


编辑:您能告诉我们圆弧的大致形状吗?

谢谢。我可以找到正确的偏移量。我还没有弄清楚如何在这里发布图像。想想一个伏特值的伏特计。我要画的弧线是由那些带刻度的值组成的,当然了。谢谢伊芙。我可以找到正确的偏移量。我还没有弄清楚如何在这里发布图像。想想一个伏特值的伏特计。我所画的弧当然是由那些带记号的值组成的。