我可以在“画布”路径中更改特定线段的笔触颜色吗?
<Grid>
<Canvas x:Name="c">
<Path x:Name="path" Stroke="Black" StrokeThickness="1">
<Path.Data>
<PathGeometry>
<PathFigure x:Name="figure" StartPoint="10,100">
<LineSegment x:Name="s0" Point="10,100"></LineSegment>
<LineSegment x:Name="s1" Point="100,100" />
<LineSegment x:Name="s2" Point="100,50" />
<LineSegment x:Name="s3" Point="150,10" />
</PathFigure>
</PathGeometry>
</Path.Data>
</Path>
</Canvas>
</Grid>
例如,如果我想更改StartPoint和LineSegment s1之间的直线路径的描边颜色,我该怎么做?
答案 0 :(得分:1)
每次更改颜色时,您都必须开始一条新路径。在S1之后停止路径,切换颜色,然后使用定义的新颜色开始新的路径图。
答案 1 :(得分:0)
您需要为每种颜色创建一个路径......正如您在建议中所说,要更改s0和s1之间的颜色必须是:
<Grid>
<Canvas x:Name="c">
<Path x:Name="path1" Stroke="Black" StrokeThickness="1">
<Path.Data>
<PathGeometry>
<PathFigure x:Name="figure" StartPoint="10,100">
<LineSegment x:Name="s0" Point="10,100"></LineSegment>
</PathFigure>
</PathGeometry>
</Path.Data>
</Path>
<Path x:Name="path2" Stroke="Yellow" StrokeThickness="1">
<Path.Data>
<PathGeometry>
<PathFigure x:Name="figure2" StartPoint="10,100">
<LineSegment x:Name="s1" Point="100,100" />
<LineSegment x:Name="s2" Point="100,50" />
<LineSegment x:Name="s3" Point="150,10" />
</PathFigure>
</PathGeometry>
</Path.Data>
</Path>
</Canvas> </Grid>