2016-01-11 24 views
1

我想绘制一个形状,这将是一个有许多圆孔的矩形。它应该看起来有点像连接四个游戏板。我想知道是否可以绘制它没有任何代码隐藏助手或循环。WPF/XAML画布中的可重复形状

到目前为止,我还做了一个元素:

<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?

回答

1

您可以使用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>