当前位置: 欣欣网 > 码农

Avalonia UI 将控件背景设置为灰白相间棋盘格(马赛克)图案

2024-07-11码农

在 Photoshop 中编辑图片时,图片的透明部分会显示为灰白相间的棋盘格(马赛克)图案。这种棋盘格图案并不是图片的内容,而是 Photoshop 用来表示透明区域的一种显示方式。通过棋盘格,可以帮助用户区分图像的透明区域和非透明区域。

如果想在 Avalonia UI 中将棋盘格作为控件背景,除了使用预先准备好的位图,也可以使用 DrawingBrush 实现(以下代码需要放在 Resurces 标签中)。

<DrawingBrushTileMode="Tile"Stretch="None"DestinationRect="0 0 10 10"x:Key="CheckerboardBrush"><DrawingBrush.Drawing><DrawingGroup><GeometryDrawingBrush="LightGray"><GeometryDrawing.Geometry><RectangleGeometryRect="0,0,10,10" /></GeometryDrawing.Geometry></GeometryDrawing><GeometryDrawingBrush="LightGray"><GeometryDrawing.Geometry><RectangleGeometryRect="10,10,10,10" /></GeometryDrawing.Geometry></GeometryDrawing><GeometryDrawingBrush="DarkGray"><GeometryDrawing.Geometry><RectangleGeometryRect="10,0,10,10" /></GeometryDrawing.Geometry></GeometryDrawing><GeometryDrawingBrush="DarkGray"><GeometryDrawing.Geometry><RectangleGeometryRect="0,10,10,10" /></GeometryDrawing.Geometry></GeometryDrawing></DrawingGroup></DrawingBrush.Drawing></DrawingBrush>

使用方式如下:

<BorderBackground="{StaticResource CheckerboardBrush}"><!-- 其他控件 --></Border>

展示效果如图所示: