WPF/XAML中画布中的可重复形状
本文关键字:复形 布中 XAML WPF | 更新日期: 2023-09-27 18:29:45
我想画一个形状,它将是一个有许多圆孔的矩形。它看起来应该有点像连接四个游戏板。我想知道是否可以在没有任何代码的情况下绘制它。
到目前为止,我只做了一个元素:
<Canvas>
<Path Fill="Red">
<Path.Data>
<CombinedGeometry GeometryCombineMode="Xor">
<CombinedGeometry.Geometry1>
<RectangleGeometry Rect="0, 0, 60, 60" />
</CombinedGeometry.Geometry1>
<CombinedGeometry.Geometry2>
<EllipseGeometry RadiusX="25" RadiusY="25" Center="30,30" />
</CombinedGeometry.Geometry2>
</CombinedGeometry>
</Path.Data>
</Path>
</Canvas>
是否可以仅在XAML中对该元素进行多重处理?
可以使用VisualBrush
作为Canvas
的背景,并将几何体指定为笔刷的视觉对象。这里有一个例子:
<Canvas Width="200" Height="200">
<Canvas.Background>
<VisualBrush TileMode="Tile" Stretch="None" Viewport="0,0,0.35,0.35">
<VisualBrush.Visual>
<Path Fill="Red">
<Path.Data>
<CombinedGeometry GeometryCombineMode="Xor">
<CombinedGeometry.Geometry1>
<RectangleGeometry Rect="0, 0, 60, 60" />
</CombinedGeometry.Geometry1>
<CombinedGeometry.Geometry2>
<EllipseGeometry RadiusX="25" RadiusY="25" Center="30,30" />
</CombinedGeometry.Geometry2>
</CombinedGeometry>
</Path.Data>
</Path>
</VisualBrush.Visual>
</VisualBrush>
</Canvas.Background>
</Canvas>