WPF 用 DrawingBrush实现图形的平铺

WPF平铺图像,一般用到 DrawingBrush 来实现对图形、图形的平铺,查阅了 微软官方文档的 DrawingBrush  属性

 

 

创建一个 DrawingBrush,其中: 

TileMode="Tile"设置了改画刷为平铺的属性
复制代码
 1 <DrawingBrush x:Key="test" Stretch="None" Viewport="0,0,78,78" ViewportUnits="Absolute" TileMode="Tile">
 2         <DrawingBrush.Drawing>
 3             <DrawingGroup>
 4                 <DrawingGroup.Children>
 5                     <GeometryDrawing>
 6                         <GeometryDrawing.Geometry>
 7                             <RectangleGeometry Rect="0,0,78,78" />
 8                         </GeometryDrawing.Geometry>
 9                         <GeometryDrawing.Pen>
10                             <Pen Brush="{StaticResource GridLineBrush}" Thickness="3"/>
11                         </GeometryDrawing.Pen>
12                     </GeometryDrawing>
13                     <GeometryDrawing>
14                         <GeometryDrawing.Geometry>
15                             <GeometryGroup>
16                                 <LineGeometry StartPoint="0.5,19.5" EndPoint="77.5,19.5" />
17                                 <LineGeometry StartPoint="0.5,39" EndPoint="77.5,39" />
18                                 <LineGeometry StartPoint="0.5,58.5" EndPoint="77.5,58.5" />
19                                 <LineGeometry StartPoint="19.5,0.5" EndPoint="19.5,77.5" />
20                                 <LineGeometry StartPoint="39,0.5" EndPoint="39,77.5" />
21                                 <LineGeometry StartPoint="58.5,0.5" EndPoint="58.5,77.5" />
22                             </GeometryGroup>
23                         </GeometryDrawing.Geometry>
24                         <GeometryDrawing.Pen>
25                             <Pen Brush="{StaticResource GridLineBrush}" Thickness="1"/>
26                         </GeometryDrawing.Pen>
27                     </GeometryDrawing>
28                 </DrawingGroup.Children>
29             </DrawingGroup>
30         </DrawingBrush.Drawing>
31     </DrawingBrush>
复制代码

 

画刷会自动适应平铺到窗体一样的大小,效果图如下:

 

 

posted @   wuty007  阅读(751)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
历史上的今天:
2016-11-20 Linq 查询与普通查询的区别
点击右上角即可分享
微信分享提示