<Window x:Class="Chapter05.VisualBrushExample"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="VisualBrush Example" Height="190" Width="250">
<StackPanel Margin="5" Grid.Column="0">
<TextBlock Text="Original button:" Margin="5" />
<Button Name="Select" ToolTip="Select" Margin="5" Width="40" Height="40">
<Image Width="30" Height="30">
<Image.Source>
<DrawingImage>
<DrawingImage.Drawing>
<GeometryDrawing Brush="LightGray">
<GeometryDrawing.Geometry>
<PathGeometry
Figures="M250,75 L 50,10 75,75 60,75 20,100 40,100,40,75Z">
<PathGeometry.Transform>
RotateTransform
CenterX="50"
CenterY="50"
Angle="45"/>
</PathGeometry.Transform>
</PathGeometry>
</GeometryDrawing.Geometry>
<GeometryDrawing.Pen>
<Pen Brush="Gray" Thickness="3" />
</GeometryDrawing.Pen>
</GeometryDrawing>
</DrawingImage.Drawing>
</DrawingImage>
</Image.Source>
</Image>
</Button>
<TextBlock Text="Copied button:" Margin="5" />
<Button Height="40" Width="40">
<Button.Background>
<VisualBrush Visual="{Binding ElementName=Select}" />
</Button.Background>
</Button>
</StackPanel>
</Window>
Month: February 2011
DrawingBrush Opacity from 1 to 0
<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">
<DrawingGroup.Children>
<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" />
<GeometryDrawing Brush="Black"
Geometry="M 0.4,0.4 L 0.2,0.5 0.4,0.6 0.5,0.5" />
</DrawingGroup.Children>
</DrawingGroup>
</Window.Resources>
<StackPanel>
<Rectangle Width="100" Height="50" Stroke="Black" StrokeThickness="1">
<Rectangle.Fill>
<DrawingBrush Drawing="{StaticResource myDrawing}" Opacity="1.0" />
</Rectangle.Fill>
</Rectangle>
<Rectangle Width="100" Height="50" Stroke="Black" StrokeThickness="1">
<Rectangle.Fill>
<DrawingBrush Drawing="{StaticResource myDrawing}" Opacity="0.75" />
</Rectangle.Fill>
</Rectangle>
<Rectangle Width="100" Height="50" Stroke="Black" StrokeThickness="1">
<Rectangle.Fill>
<DrawingBrush Drawing="{StaticResource myDrawing}" Opacity="0.5" />
</Rectangle.Fill>
</Rectangle>
<Rectangle Width="100" Height="50" Stroke="Black" StrokeThickness="1">
<Rectangle.Fill>
<DrawingBrush Drawing="{StaticResource myDrawing}" Opacity="0.25" />
</Rectangle.Fill>
</Rectangle>
<Rectangle Width="100" Height="50" Stroke="Black" StrokeThickness="1">
<Rectangle.Fill>
<DrawingBrush Drawing="{StaticResource myDrawing}" Opacity="0" />
</Rectangle.Fill>
</Rectangle>
</StackPanel>
</Window>
Ellipse Fill with DrawingBrush
<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">
<Ellipse Margin="15,0,0,0" Width="200" Height="200" Stroke="Red" StrokeThickness="1">
<Ellipse.Fill>
<DrawingBrush Viewport="0,0,150,50" ViewportUnits="Absolute" TileMode="Tile">
<DrawingBrush.Drawing>
<DrawingGroup>
<DrawingGroup.Children>
<ImageDrawing ImageSource="c:image.JPG" Rect="0,0,100,50" />
<ImageDrawing ImageSource="c:image.JPG" Rect="100,0,50,50" />
</DrawingGroup.Children>
</DrawingGroup>
</DrawingBrush.Drawing>
</DrawingBrush>
</Ellipse.Fill>
</Ellipse>
</Window>
Rectangle and Ellipse
<Window x:Class="WpfApplication1.ShapesWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="ShapesWindow" Height="160" Width="400">
<Canvas>
<Rectangle Fill="Blue" Canvas.Left="40" Canvas.Top="40" Width="40" />
<Ellipse Fill="Green" Stroke="Black" StrokeThickness="2" Canvas.Left = "60" Canvas.Top="120" Width="40" Height="40" />
</Canvas>
</Window>
Ellipse With Styled Lines
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
WindowTitle="Ellipse with Styled Lines">
<Ellipse Margin="0.5in"
Fill="Blue"
Stroke="Red"
StrokeDashArray="{Binding Source={x:Static DashStyles.Dot},
Path=Dashes,
Mode=OneTime}"
StrokeThickness="36pt"
StrokeDashCap="Round">
</Ellipse>
</Page>
Draws an oval with a blue interior
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="Microsoft.Samples.Graphics.RectangleExample"
WindowTitle="Example">
<Canvas>
<Ellipse
Width="100"
Height="50"
Fill="Blue"
Canvas.Left="10"
Canvas.Top="25" />
</Canvas>
</Page>
Draws an oval with a blue interior and a black outline
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="Microsoft.Samples.Graphics.RectangleExample"
WindowTitle="Example">
<Canvas>
<Ellipse
Width="100"
Height="50"
Fill="Blue"
Stroke="Black"
StrokeThickness="4"
Canvas.Left="10"
Canvas.Top="100"/>
</Canvas>
</Page>

