【发布时间】:2010-10-18 07:08:42
【问题描述】:
我有 3 条具有相同几何形状的折线。
我想为其中两个设置偏移量,这样它们就会彼此相邻。
我该怎么做?
谢谢。
【问题讨论】:
-
您应该说明您的折线设置在哪个容器中。一般来说,我会使用 RenderTransform。
标签: c# wpf .net-3.5 offset polyline
我有 3 条具有相同几何形状的折线。
我想为其中两个设置偏移量,这样它们就会彼此相邻。
我该怎么做?
谢谢。
【问题讨论】:
标签: c# wpf .net-3.5 offset polyline
这取决于您使用的容器。如果您使用网格(没有行或列)或画布,它们直接在彼此之上。您可以通过边距(网格)或左/上(画布)将它们分开。
或者使用不同的面板,例如 Stackpanel,自动将它们排列在一起。
编辑: 在 cmets 中,我们提出了使用 LinearGradientBrush 为单个几何图形着色的想法,如下所示:
<Polyline StrokeThickness="20" Points="30,250 200,250">
<Polyline.Stroke>
<LinearGradientBrush StartPoint="30,200" EndPoint="30,250" MappingMode="Absolute">
<GradientStop Color="Red" Offset="1" />
<GradientStop Color="Red" Offset="0.66" />
<GradientStop Color="Yellow" Offset="0.66" />
<GradientStop Color="Yellow" Offset="0.33" />
<GradientStop Color="Green" Offset="0.33" />
<GradientStop Color="Green" Offset="0" />
</LinearGradientBrush>
</Polyline.Stroke>
【讨论】:
我想我理解您的确切需求:您希望像在路线图上一样绘制折线,其中多条线遵循相同的路径,但它们之间始终保持相同的距离。
这是一个复杂得多的问题。 Key Johnson 有一篇很棒的文章,他在其中创建了几何视觉画笔:Stacked Geometry Brush Factory。
他设法做的一个例子:
【讨论】: