ColumnDefinition.Width=Auto


   
       

<Page x:Class="WebPageNavigation.Page1"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  WindowTitle="Page1"
  >
  <Grid>
    <StackPanel Grid.Column="0" Grid.Row="0" HorizontalAlignment="Left" Name="StackPanel1" 
                VerticalAlignment="Top">
        <TextBlock FontSize="18" HorizontalAlignment="Center" Margin="0,0,0,15">StackPanel1</TextBlock>

        <Button Margin="0,10,0,10">Button 1</Button>
        <Button Margin="0,10,0,10">Button 2</Button>
        <Button Margin="0,10,0,10">Button 3</Button>

        <TextBlock>ColumnDefinition.Width="Auto"</TextBlock>
        <TextBlock>StackPanel.HorizontalAlignment="Left"</TextBlock>
        <TextBlock>StackPanel.VerticalAlignment="Top"</TextBlock>
        <TextBlock>StackPanel.Orientation="Vertical"</TextBlock>
        <TextBlock>Button.Margin="0,10,0,10"</TextBlock>
    </StackPanel>
  </Grid>
</Page>

   
    
    
    
    
    
    
     


GridSplitter as Entire Column or Row


   
       

<Window x:Class="SDKSample.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Row GridSplitter Example">


        <Grid >
            <Grid.RowDefinitions>
                <RowDefinition Height="150"/>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition/>
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition/>
            </Grid.ColumnDefinitions>
            <StackPanel Grid.Row="0" Grid.Column="0" Background="Blue"/>
            <GridSplitter Grid.Column="1"
                        HorizontalAlignment="Center"
                        VerticalAlignment="Stretch"
                        Background="Black" 
                        ShowsPreview="True"
                        Width="5"
                        />
            <Grid Grid.Row="0" Grid.Column="2">
                <Grid.RowDefinitions>
                    <RowDefinition Height="50*" />
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="50*" />
                </Grid.RowDefinitions>
                <StackPanel Grid.Row="0" Grid.Column="1" Background="Tan"/>
                <GridSplitter Grid.Row="1"
                          HorizontalAlignment="Stretch"
                          VerticalAlignment="Center"
                          Background="Black" 
                          ShowsPreview="True"
                          Height="5"
                       />
                <StackPanel Grid.Row="2" Grid.Column="0" Background="Brown"/>
   

            </Grid>
        </Grid>



</Window>

   
    
    
    
    
    
    
     


GridSplitter Example


   
       
<Window x:Class="SDKSample.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Row GridSplitter Example">


        <StackPanel Grid.Row="0" Grid.Column="0">

            <Grid >
                <Grid.RowDefinitions>
                    <RowDefinition Height="50" />
                    <RowDefinition Height="50"/>
                    <RowDefinition Height="50"/>
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition/>
                    <ColumnDefinition/>
                    <ColumnDefinition/>
                </Grid.ColumnDefinitions>

                <StackPanel Grid.Row="0" Grid.Column="0" 
                      Background="Red"/>
                <StackPanel Grid.Row="0" Grid.Column="1" 
                      Background="Black"/>
                <StackPanel Grid.Row="0" Grid.Column="2" 
                      Background="Tan"/>

                <StackPanel Grid.Row="1" Grid.Column="0" 
                      Background="Tan"/>
                <StackPanel Grid.Row="1" Grid.Column="1" 
                      Background="Brown"/>
                <StackPanel Grid.Row="1" Grid.Column="2" 
                      Background="Blue"/>

                <StackPanel Grid.Row="2" Grid.Column="0" 
                      Background="Red"/>
                <StackPanel Grid.Row="2" Grid.Column="1" 
                      Background="Blue"/>
                <StackPanel Grid.Row="2" Grid.Column="2" 
                      Background="Tan"/>

                <GridSplitter Grid.Row="1" 
                        Grid.ColumnSpan="3" 
                        HorizontalAlignment="Stretch" 
                        VerticalAlignment="Top"
                        Background="Black" 
                        ShowsPreview="true"
                        ResizeDirection="Columns"
                        Height="5"/>
                <GridSplitter Grid.Column="1" 
                        Grid.RowSpan="3" 
                        HorizontalAlignment="Left" 
                        VerticalAlignment="Stretch"
                        Background="White" 
                        ShowsPreview="true"
                        Width="5"/>
            </Grid>

        </StackPanel>



</Window>

   
    
    
    
    
    
    
     


Glyphs with ttf font file


   
     


<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Glyphs and Fonts" Height="300" Width="350"
    >
  <StackPanel>
    <Glyphs FontUri="C:WindowsFontsCalibri.ttf" FontRenderingEmSize="40"
        UnicodeString="Hello, world" Fill="Black" OriginY="30" />
  </StackPanel>
</Window>

   
    
    
    
    
     


GeometryGroup FillRule=Nonzero


   
 


<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">
          <Path Stroke="Black" StrokeThickness="1" Fill="#CCCCFF">
            <Path.Data>
              <GeometryGroup FillRule="Nonzero">
                <LineGeometry StartPoint="10,10" EndPoint="50,30" />
                <EllipseGeometry Center="40,70" RadiusX="30" RadiusY="30" />              
                <RectangleGeometry Rect="30,55 100 30" />
              </GeometryGroup>
            </Path.Data>
          </Path>

</Window>

   
     


GeometryGroup and Path.Data


   
 

<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">
          <Path Stroke="Black" StrokeThickness="1" Fill="#CCCCFF">
            <Path.Data>
              <GeometryGroup FillRule="EvenOdd">
                <LineGeometry StartPoint="10,10" EndPoint="50,30" />
                <EllipseGeometry Center="40,70" RadiusX="30" RadiusY="30" />              
                <RectangleGeometry Rect="30,55 100 30" />
              </GeometryGroup>
            </Path.Data>
          </Path>

</Window>

   
     


Use a PathGeometry object to highlight displayed text.


   
  

<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  x:Class="WpfApplication1.Window1"
  Title="Using a Path Geometry to Highlight Text"
  Background="PowderBlue">

  <StackPanel>
      <Button Margin="10" Grid.Column="2" Grid.Row="0" FontSize="16" Click="OnDisplayTextClick">Display Text</Button>
    <Canvas Margin="20" Height="150">
      <Path Canvas.Top="15" Canvas.Left="15" Stroke="SteelBlue" StrokeThickness="3" Fill="LightSteelBlue" Name="path" />
      <Ellipse Canvas.Top="0" Canvas.Left="0" Width="30" Height="30">
        <Ellipse.Fill>
          <RadialGradientBrush GradientOrigin="0.5,0.5" Center="0.5,0.5" RadiusX="0.5" RadiusY="0.5">
            <RadialGradientBrush.GradientStops>
              <GradientStop Color="Yellow" Offset="0.25" />
              <GradientStop Color="Transparent" Offset="1" />
            </RadialGradientBrush.GradientStops>
          </RadialGradientBrush>
        </Ellipse.Fill>

        <Ellipse.RenderTransform>
          <MatrixTransform />
        </Ellipse.RenderTransform>
        <Ellipse.Triggers>
          <EventTrigger RoutedEvent="FrameworkElement.Loaded">
            <EventTrigger.Actions>
            <BeginStoryboard>
              <Storyboard x:Name="storyboard">
                <MatrixAnimationUsingPath 
                  x:Name="matrixAnimation"
                  Duration="0:00:40"
                  RepeatBehavior="Forever"
                  Storyboard.TargetProperty="RenderTransform.Matrix" />
              </Storyboard>
            </BeginStoryboard>
            </EventTrigger.Actions>
          </EventTrigger>
        </Ellipse.Triggers>
      </Ellipse>
    </Canvas>
  </StackPanel>
</Window>

//File:Window.xaml.cs

using System;
using System.Globalization;
using System.Windows;
using System.Windows.Media;

namespace WpfApplication1
{
    public partial class Window1 : Window
    {     
        public Window1()
        {
            InitializeComponent();
        }

        public void OnDisplayTextClick(object sender, EventArgs e)
        {
            FormattedText formattedText = new FormattedText(
                "asdf",
                CultureInfo.GetCultureInfo("en-us"),
                FlowDirection.LeftToRight,
                new Typeface("Verdana"),
                96,
                Brushes.Black);

            formattedText.SetFontWeight(FontWeights.Bold);

            Geometry geometry = formattedText.BuildGeometry(new Point(0, 0));

            PathGeometry pathGeometry = geometry.GetFlattenedPathGeometry();

            path.Data = pathGeometry;

            matrixAnimation.PathGeometry = pathGeometry;
        }
    }
}