c# - 如何在 WPF 中沿路径绘制平行线

标签 c# wpf xaml path

我想在一条线周围添加边框。我正试图沿着现有的一条线(或任何其他方法)画两条线。去实现它。我试着画两条粗细不同的线。但我想要一个灵活的方法。

我也试过用DrawingBrush,但是旋转和缩放是个问题。

简单的代码如下所示。但我想知道是否有其他方便的方法为路径线添加边框。此外,此方法中线的起点和终点未被“边框”包围。

<Path
    StrokeThickness="3"
    StrokeDashCap="Round"
    Stroke="Black"
    Data="{Binding PathGeometry}"
>
</Path>
<Path
    StrokeThickness="8"
    StrokeDashCap="Round"
    Stroke="{Binding Brush}"
    Data="{Binding PathGeometry}"
>
</Path>

它可能看起来像这样(我只需要三行): enter image description here

最佳答案

Vector vLine = ( p1 - p0 ).Normalized();
Vector vPerp = new Vector( -vLine.Y, vLine.X );
Point newp0 = p0 + vPerp * offset distance
Point newp1 = p1 + vPerp * offset distance
DrawLine( newp0, newp1 );

关于c# - 如何在 WPF 中沿路径绘制平行线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32109264/

相关文章:

c# - WPF数据网格按所选列自动排序

wpf - 试图为高度设置动画但得到高度为 NaN 的错误

c# - WP7 工具包 - 当通过代码(不是用户输入)更改时,如何忽略 ListPicker 的 "SelectionChanged"和 ToggleSwitch 的 "Checked"事件等事件?

wpf - 如何在选项卡控件中的选项卡之间添加分隔符?

c# - ASP.NET 上 C# 中的当前请求全局变量

c# - 如何在将项目从 VS 2008 转换为 VS 2010 时解决 "Encountered multiple versions of the assembly with GUID '

c# - c#windows窗体中如何选择TreeView中的子节点

c# - UnhandledExceptionEventArgs 的全局异常处理程序不起作用

wpf - DataTemplate 内的 ContentControl 两种方式绑定(bind)不起作用?

c# - 命令评估依赖属性绑定(bind)?