Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在WPF中创建具有不同颜色线段的完全连接线?_Wpf_Polyline - Fatal编程技术网

如何在WPF中创建具有不同颜色线段的完全连接线?

如何在WPF中创建具有不同颜色线段的完全连接线?,wpf,polyline,Wpf,Polyline,请看这张照片: 请注意,左侧的线有一个干净的角,而右侧的线没有。下面是我用来创建每个的XAML: <Canvas Margin="10"> <Polyline Stroke="Green" StrokeThickness="10"> <Polyline.Points> <Point X="0" Y="0"/> <Point X="30" Y="50"/>

请看这张照片:

请注意,左侧的线有一个干净的角,而右侧的线没有。下面是我用来创建每个的XAML:

<Canvas Margin="10">
    <Polyline Stroke="Green" StrokeThickness="10">
        <Polyline.Points>
            <Point X="0" Y="0"/>
            <Point X="30" Y="50"/>
            <Point X="60" Y="0"/>
        </Polyline.Points>
    </Polyline>

    <Line X1="100" Y1="0" X2="130" Y2="50" Stroke="Red" StrokeThickness="10"/>
    <Line X1="130" Y1="50" X2="160" Y2="0" Stroke="Blue" StrokeThickness="10"/>
</Canvas>
显然,多段线很容易处理角点,但它不支持具有不同颜色的线段,这正是我所需要的。创建单独的线解决了这个问题,但我丢失了干净的角。我需要能够创建一条线,线1的角,但线2的颜色

我的实际应用程序是一个折线图,所以这些线是动态创建的,可以有几十个段,每个段的角度从0到180度不等


我遇到的唯一解决方案是使用一个带有Polyline.Stroke的函数,并在角应该位于的位置设置渐变停止。但是考虑到直线的长度和每个线段都是完全可变的,并且梯度停止点似乎是以百分比的形式测量的,从一端的0到另一端的1,这似乎是一个很难计算的问题,结果是一个过于复杂的解。有更简单的方法吗?

将线条笔划的起点和终点设置为圆形:

<Line X1="100" Y1="0" X2="130" Y2="50" Stroke="Red" StrokeThickness="10"
      StrokeStartLineCap="Round" StrokeEndLineCap="Round"/>
<Line X1="130" Y1="50" X2="160" Y2="0" Stroke="Blue" StrokeThickness="10"
      StrokeStartLineCap="Round" StrokeEndLineCap="Round"/>