WPF 通过VisualBrush画出带虚线的线来填充Border,达成虚线边框
时间: 2024-03-08 09:45:58 浏览: 99
c# winform 用鼠标画拉出来的虚线框,鼠标框选边框效
5星 · 资源好评率100%
要实现带虚线的线填充Border,可以使用WPF的VisualBrush和DrawingVisual。以下是实现的步骤:
1. 创建一个DrawingVisual,并使用DrawingContext绘制出一条带虚线的线。
```csharp
var drawingVisual = new DrawingVisual();
using (var dc = drawingVisual.RenderOpen())
{
var pen = new Pen(Brushes.Black, 1);
pen.DashStyle = new DashStyle(new double[] { 4, 4 }, 0);
dc.DrawLine(pen, new Point(0, 0), new Point(border.ActualWidth, 0));
}
```
2. 创建一个VisualBrush,并将DrawingVisual作为其Visual属性的值。
```csharp
var visualBrush = new VisualBrush();
visualBrush.Visual = drawingVisual;
```
3. 将VisualBrush设置为Border的Background属性即可。
```csharp
border.Background = visualBrush;
```
最终效果就是一个带虚线的线填充了Border的边框。
阅读全文