c# - 在 WPF 装饰器中绘制虚线

标签 c# .net wpf xaml graphics

我在网上找到了几篇关于在 WPF 中绘制虚线的文章。但是,它们似乎围绕着使用 Line 类,它是 WPF 中的 UIElement。它是这样的:

Line myLine = new Line();
DoubleCollection dashes = new DoubleCollection();
dashes.Add(2);
dashes.Add(2);
myLine.StrokeDashArray = dashes;

现在,我在一个装饰器中,我只能访问一个绘图上下文。在那里,我或多或少地减少了绘图基元、画笔、钢笔、几何图形等。这看起来更像这样:

var pen = new Pen(new SolidColorBrush(Color.FromRgb(200, 10, 20)), 2);
drawingContext.DrawLine(pen, point1, point2);

我不知道如何在此级别的 API 上绘制虚线。我希望这不是“一条一条地画小线”,而是我没见过的其他东西......

最佳答案

查看Pen.DashStyle属性(property)。您可以使用 DashStyles 的成员提供一些预定义破折号样式的类,或者您可以通过创建一个新的 DashStyle 来指定您自己的破折号和间隙模式实例。

var pen = new Pen(new SolidColorBrush(Color.FromRgb(200, 10, 20)), 2);
pen.DashStyle = DashStyles.Dash;
drawingContext.DrawLine(pen, point1, point2);

关于c# - 在 WPF 装饰器中绘制虚线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3156953/

相关文章:

c# - 点网核心: can't run unit tests

c# - 32feet .NET api 拒绝连接 "The requested address is not valid in its context"

c# - VS 2008 c# 预构建事件

.net - 通过 COM 互操作调用时,Type.GetType 返回 null

c# - 使用roslyn编译Xaml得到*.g.cs文件

C# - 如何将 IntPtr 缓冲区数据保存到文件(最快的方法)?

.net - 如何控制 MembershipProvider 实例的创建/生命周期?

带有条件语句的 C# 泛型类型参数

c# - 无法正确实现WPF MVVM

c# - WPF 组合框问题