如何在继承自Canvas-系统ui元素的自定义 Canvas 上绘制如下图表作为背景?
感谢您提供任何有用的链接。
最佳答案
您可以将 Canvas.Background
设置为一些 DrawingBrush
。这个画笔只需要渲染一个矩形(通过使用一些RectangleGeometry
)。由于支持 TileMode
,我们可以沿水平轴和垂直轴重复此矩形并为您制作完整的网格:
<Canvas>
<Canvas.Background>
<DrawingBrush TileMode="Tile" Viewport="-10,-10,40,40"
ViewportUnits="Absolute">
<DrawingBrush.Drawing>
<GeometryDrawing>
<GeometryDrawing.Geometry>
<RectangleGeometry Rect="0,0,50,50"/>
</GeometryDrawing.Geometry>
<GeometryDrawing.Pen>
<Pen Brush="Gray" Thickness="1"/>
</GeometryDrawing.Pen>
</GeometryDrawing>
</DrawingBrush.Drawing>
</DrawingBrush>
</Canvas.Background>
</Canvas>
请注意,您可以在 Canvas 之外绘制某些内容,但其背景始终位于其区域内。因此,您需要正确设置 Canvas 的大小。
关于c# - [WPF]如何在 Canvas 上绘制网格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26635635/