WPF:如何设置PolyLine的偏移量

时间:2010-10-18 07:08:42

标签: c# wpf .net-3.5 offset polyline

我有3个具有相同几何形状的PolyLine。

我想将偏移量设置为其中两个,因此它们会显示在彼此旁边。

我该怎么做?

感谢名单。

3 个答案:

答案 0 :(得分:1)

这取决于您使用的容器。如果使用网格(没有行或列)或画布,它们将直接相互叠加。您可以通过边距(网格)或左/顶(画布)将它们分开。

或者使用不同的面板,例如Stackpanel,自动将它们彼此相邻排列。

修改 在评论中,我们开发了使用LinearGradientBrush为单个Geometry着色的想法,如下所示:

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

答案 1 :(得分:1)

我想我理解你的确切需求:你希望在路线图上绘制折线,其中多条线遵循相同的路径,但始终保持相同的距离。

这是一个更复杂的问题。关键约翰逊有一篇很棒的文章,他创造了几何视觉画笔:Stacked Geometry Brush Factory

他设法做的一个例子: alt text

答案 2 :(得分:0)

您应该在您的折线设置的容器中解释。 一般来说,我会使用RenderTransform。