WPF 2D图形 Shape入门(一)--Shape
本文是篇WPF Shape的入门文章
Shape#
首先看看shape的继承链关系:
一个Shape具有哪些重要属性:
属性 | 说明 |
---|---|
DefiningGeometry | 默认的几何形状 |
RenderedGeometry | 最终渲染后呈现的几何形状 |
Stroke | 绘制的形状轮廓加上画刷(颜色) |
StrokeThickness | 绘制边框画刷的粗细 |
Fill | 给绘制的形状内部填充画刷 |
Rectangle#
我们先来剖析一个简单的预设的Shape对象Rectangle
,实际上一个Rectangle
能够正式渲染显示到界面当中,必须含有三个要素:
- Geometry(几何):决定着绘制的形状
- Stroke(边框画刷)或者Fill(填充画刷):给绘制的形状轮廓加上画刷(颜色)/给绘制的形状内部填充画刷(颜色)
- Height/Width:决定着几何图形的大小
因此代码如下:
MainWindow.xaml:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<Rectangle x:Name="Rectangle" Height="150" Width="150" Stroke="Black" />
</Grid>
MainWindow.xaml.cs:
Debug.WriteLine(Rectangle.RenderedGeometry.ToString());
输出:
System.Windows.Media.RectangleGeometry
因此实际上决定一个真正的Rectangle
形状的是RectangleGeometry
,关于Geometry相关的知识可能会在以后Shape系列文章讲到
Path#
还有一种方式同样的能够获得矩形形状,那就是通过Path
:
MainWindow.xaml:
<Path x:Name="Path" Grid.Column="1" Stroke="Black" />
MainWindow.xaml.cs:
Path.Data = new RectangleGeometry(new Rect(100, 128, 150, 150));
Debug.WriteLine(Path.RenderedGeometry.ToString());
输出:
System.Windows.Media.RectangleGeometry
界面效果:
因此,Rectangle
实际上底层是预设了RectangleGeometry
,而通过Path
我们可以自定义所需的Geometry
源码#
https://github.com/ZhengDaoWang/BlogCodeSample/tree/main/ShapeSample
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本