如何在WPF中创建具有不同颜色线段的完全连接线?
请看这张照片: 请注意,左侧的线有一个干净的角,而右侧的线没有。下面是我用来创建每个的XAML:如何在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"/>
<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"/>