DrawingBrush.Transform SkewTransform

image_pdfimage_print


   
 
<Window x:Class="Workspace.DockExample"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Workspace" Width="640" Height="480">

        <Rectangle
          Width="100" Height="100"
          Stroke="Black" StrokeThickness="1" Margin="10,0,10,0">
          <Rectangle.Fill>
            <DrawingBrush Viewport="0,0,0.5,0.5" TileMode="Tile">
              <DrawingBrush.Transform>
                <SkewTransform AngleX="45" AngleY="0"/>
              </DrawingBrush.Transform>
              <DrawingBrush.Drawing>
                <DrawingGroup>
                  <DrawingGroup.Children>
                    <GeometryDrawing Geometry="M0,0.1 L0.1,0 1,0.9, 0.9,1z"
                      Brush="Gray" />
                    <GeometryDrawing Geometry="M0.9,0 L1,0.1 0.1,1 0,0.9z"
                      Brush="Red" />

                  </DrawingGroup.Children>
                </DrawingGroup>
              </DrawingBrush.Drawing>
            </DrawingBrush>
          </Rectangle.Fill>
        </Rectangle>
</Window>

   
     


DrawingBrush.RelativeTransform RotateTransform

image_pdfimage_print


   
 

<Window x:Class="Workspace.DockExample"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Workspace" Width="640" Height="480">
        <Rectangle
          Width="100" Height="100"
          Stroke="Black" StrokeThickness="1">
          <Rectangle.Fill>
            <DrawingBrush Viewport="0,0,0.5,0.5" TileMode="Tile">
              <DrawingBrush.RelativeTransform>
                <RotateTransform CenterX="0.5" CenterY="0.5" Angle="45" />
              </DrawingBrush.RelativeTransform>
              <DrawingBrush.Drawing>
                <DrawingGroup>
                  <DrawingGroup.Children>
                    <GeometryDrawing Geometry="M0,0.1 L0.1,0 1,0.9, 0.9,1z"
                      Brush="Gray" />
                    <GeometryDrawing Geometry="M0.9,0 L1,0.1 0.1,1 0,0.9z"
                      Brush="Red" />
  
                  </DrawingGroup.Children>
                </DrawingGroup>
              </DrawingBrush.Drawing>
            </DrawingBrush>
          </Rectangle.Fill>
        </Rectangle>
</Window>

   
     


Opacity Mask from Drawing

image_pdfimage_print


   
 

<Window x:Class="Workspace.DockExample"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Workspace" Width="640" Height="480">

    <Image Height="150" Width="200" Source="c:image.jpg">
      <Image.OpacityMask>
        <DrawingBrush>
          <DrawingBrush.Drawing>
            <GeometryDrawing>
              <GeometryDrawing.Brush>
                <RadialGradientBrush>
                  <RadialGradientBrush.GradientStops>
                    <GradientStop Offset="0" Color="Black" />
                    <GradientStop Offset="1" Color="Transparent" />
                  </RadialGradientBrush.GradientStops>
                </RadialGradientBrush>
              </GeometryDrawing.Brush>
              <GeometryDrawing.Geometry>
                <RectangleGeometry Rect="0.05,0.05 0.9,0.9" />
              </GeometryDrawing.Geometry>
              <GeometryDrawing.Pen>
                <Pen Thickness="0.1" Brush="Black" />
              </GeometryDrawing.Pen>
            </GeometryDrawing>
          </DrawingBrush.Drawing>
        </DrawingBrush>
      </Image.OpacityMask>
    </Image>

</Window>

   
     


A DrawingBrush paints an area with a drawing

image_pdfimage_print


   
 
<Window x:Class="Workspace.DockExample"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Workspace" Width="640" Height="480">
        <Rectangle Width="100" Height="100" Stroke="Black" StrokeThickness="1">
          <Rectangle.Fill>
            <DrawingBrush >
              <DrawingBrush.Drawing>
                <DrawingGroup>
                  <DrawingGroup.Children>
                    <GeometryDrawing Geometry="M0,0.1 L0.1,0 1,0.9, 0.9,1z"
                      Brush="Gray" />
                    <GeometryDrawing Geometry="M0.9,0 L1,0.1 0.1,1 0,0.9z"
                      Brush="Gray" />
                    <GeometryDrawing Geometry="M0.25,0.25 L0.5,0.125 0.75,0.25 0.5,0.5z"
                      Brush="#FFFF00" />
                    <GeometryDrawing Geometry="M0.25,0.75 L0.5,0.875 0.75,0.75 0.5,0.5z"
                      Brush="Black" />
                    <GeometryDrawing Geometry="M0.25,0.75 L0.125,0.5 0.25,0.25 0.5,0.5z"
                      Brush="#FF0000" />
                    <GeometryDrawing Geometry="M0.75,0.25 L0.875,0.5 0.75,0.75 0.5,0.5z"
                      Brush="MediumBlue" />
                  </DrawingGroup.Children>
                </DrawingGroup>
              </DrawingBrush.Drawing>
            </DrawingBrush>
          </Rectangle.Fill>
        </Rectangle>
</Window>

   
     


Patterns defined by the DrawingBrush expand to fill the area of the rectangle

image_pdfimage_print


   
 

<Window x:Class="Workspace.DockExample"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Workspace" Width="640" Height="480">
          <Rectangle Width="100" Height="100" Stroke="Black" StrokeThickness="1">
            <Rectangle.Fill>
              <DrawingBrush>
                <DrawingBrush.Drawing>
                  <GeometryDrawing Brush="MediumBlue">
                    <GeometryDrawing.Geometry>
                      <GeometryGroup>
                        <EllipseGeometry RadiusX="0.2" RadiusY="0.45" Center="0.5,0.5" />
                        <EllipseGeometry RadiusX="0.45" RadiusY="0.2" Center="0.5,0.5" />
                      </GeometryGroup>
                    </GeometryDrawing.Geometry>
                    <GeometryDrawing.Pen>
                      <Pen Thickness="0.1" Brush="Black" />
                    </GeometryDrawing.Pen>
                  </GeometryDrawing>
                </DrawingBrush.Drawing>
              </DrawingBrush>
            </Rectangle.Fill>
          </Rectangle>

</Window>

   
     


Non-tiled Drawingrush examples

image_pdfimage_print


   
 
<Window x:Class="Workspace.DockExample"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Workspace" Width="640" Height="480">
    <Window.Resources>
    <DrawingGroup x:Key="myDrawing">
      <GeometryDrawing>
        <GeometryDrawing.Geometry>
          <GeometryGroup>
            <LineGeometry StartPoint="0,0" EndPoint="1,1" />
            <LineGeometry StartPoint="0,1" EndPoint="1,0" />
          </GeometryGroup>
        </GeometryDrawing.Geometry>
        <GeometryDrawing.Pen>
          <Pen Thickness="0.2" Brush="#3366FF" />
        </GeometryDrawing.Pen>
      </GeometryDrawing>
      <GeometryDrawing Brush="Red"
       Geometry="M 0.4,0.4 L 0.5,0.2 0.6,0.4 0.5,0.5" />
    </DrawingGroup>
    
    </Window.Resources>
    <Rectangle Width="175" Height="90" Stroke="Black">
      <Rectangle.Fill>
        <DrawingBrush Drawing="{StaticResource myDrawing}"></DrawingBrush>
      </Rectangle.Fill>
    </Rectangle>
</Window>

   
     


Tiled DrawingBrush examples

image_pdfimage_print


   
 

<Window x:Class="Workspace.DockExample"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Workspace" Width="640" Height="480">

    <Window.Resources>
    <DrawingGroup x:Key="myDrawing" >
      <GeometryDrawing>
        <GeometryDrawing.Geometry>
          <GeometryGroup>
            <LineGeometry StartPoint="0,0" EndPoint="1,1" />
            <LineGeometry StartPoint="0,1" EndPoint="1,0" />
          </GeometryGroup>
        </GeometryDrawing.Geometry>
        <GeometryDrawing.Pen>
          <Pen Thickness="0.2" Brush="#3366FF" />
        </GeometryDrawing.Pen>
      </GeometryDrawing>
      <GeometryDrawing Brush="Red"
       Geometry="M 0.4,0.4 L 0.5,0.2 0.6,0.4 0.5,0.5" />
    </DrawingGroup>
    </Window.Resources>
    <Rectangle Width="175" Height="90" Stroke="Black">
      <Rectangle.Fill>
        <DrawingBrush Drawing="{StaticResource myDrawing}" Viewport="0,0,0.5,0.5" TileMode="Tile"></DrawingBrush>
      </Rectangle.Fill>
    </Rectangle>

</Window>