GridSplitter and DragIncrement Changed

image_pdfimage_print


   
  
<Window x:Class="GridSplitter_Example.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="GridSplitter Example">
<Grid>
  <Grid.ColumnDefinitions>
    <ColumnDefinition Name="Col0" />
    <ColumnDefinition Name="Col1" />
    <ColumnDefinition Name="Col2" />
    <ColumnDefinition Name="Col3" />
  </Grid.ColumnDefinitions>
  <Grid.RowDefinitions>
    <RowDefinition Name="Row0" />
    <RowDefinition Name="Row1" />
    <RowDefinition Name="Row2" />
  </Grid.RowDefinitions>

  <StackPanel Grid.Row="0" Grid.Column="0" Background="Orange">
    <TextBlock>Row 0 Col 0</TextBlock>
  </StackPanel>
  <StackPanel Grid.Row="1" Grid.Column="0" Background="Blue">
    <TextBlock>Row 1 Col 0</TextBlock>
  </StackPanel>
  <StackPanel Grid.Row="2" Grid.Column="0" Background="Green">
    <TextBlock>Row 2 Col 1</TextBlock>
  </StackPanel>
  <StackPanel Grid.Row="0" Grid.Column="1" Background="Purple">
    <TextBlock>Row 0 Col 1</TextBlock>
  </StackPanel>
  <StackPanel Grid.Row="1" Grid.Column="1" Background="Red">
    <TextBlock>Row 1 Col 1</TextBlock>
  </StackPanel>
  <StackPanel Grid.Row="2" Grid.Column="1" Background="Salmon">
   <TextBlock>Row 2 Col 1</TextBlock>
  </StackPanel>
  <StackPanel Grid.Row="0" Grid.Column="2" Background="MediumVioletRed">
    <TextBlock>Row 0 Col 2</TextBlock>
  </StackPanel>
  <StackPanel Grid.Row="1" Grid.Column="2" Background="SteelBlue">
    <TextBlock>Row 1 Col 2</TextBlock>
  </StackPanel>
  <StackPanel Grid.Row="2" Grid.Column="2" Background="Olive">
    <TextBlock>Row 2 Col 2</TextBlock>
  </StackPanel>
   
  <GridSplitter Name="myGridSplitter" Grid.Column="1" Grid.Row="1" Width="5"/>
  <StackPanel Grid.Column="3" Grid.RowSpan="3" Background="Brown">
    <TextBlock FontSize="14" Foreground="Yellow">Property Settings</TextBlock>

    <StackPanel Margin="0,5,0,0">
        <TextBlock>DragIncrement</TextBlock>
        <RadioButton Name="DragIncrementAuto" Checked="DragIncrementChanged" IsChecked="true" GroupName="DragIncrementProperty">
         1 (default)
        </RadioButton>
        <RadioButton Name="DragIncrementCols" Checked="DragIncrementChanged" GroupName="DragIncrementProperty">
         20
        </RadioButton>
        <RadioButton Name="DragIncrementRows" Checked="DragIncrementChanged" GroupName="DragIncrementProperty">
          50
        </RadioButton>
    </StackPanel>
  </StackPanel>
</Grid>
</Window>
//File:Window.xaml.cs
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Media;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace GridSplitter_Example
{
  public partial class Window1 : Window
  {
      public Window1()
      {
        InitializeComponent();
      }
        private void DragIncrementChanged(object sender, RoutedEventArgs e)
        {
          if ((Boolean)DragIncrementAuto.IsChecked)
            myGridSplitter.DragIncrement = 1;
          else if ((Boolean)DragIncrementCols.IsChecked)
            myGridSplitter.DragIncrement = 20;
          else if ((Boolean)DragIncrementRows.IsChecked)
            myGridSplitter.DragIncrement = 50;
        }
  
  }
}

   
    
     


Define a GridSplitter and Vertical Alignment Changed

image_pdfimage_print


   
  

<Window x:Class="GridSplitter_Example.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="GridSplitter Example">
<Grid>
  <Grid.ColumnDefinitions>
    <ColumnDefinition Name="Col0" />
    <ColumnDefinition Name="Col1" />
    <ColumnDefinition Name="Col2" />
    <ColumnDefinition Name="Col3" />
  </Grid.ColumnDefinitions>
  <Grid.RowDefinitions>
    <RowDefinition Name="Row0" />
    <RowDefinition Name="Row1" />
    <RowDefinition Name="Row2" />
  </Grid.RowDefinitions>

  <StackPanel Grid.Row="0" Grid.Column="0" Background="Orange">
    <TextBlock>Row 0 Col 0</TextBlock>
  </StackPanel>
  <StackPanel Grid.Row="1" Grid.Column="0" Background="Blue">
    <TextBlock>Row 1 Col 0</TextBlock>
  </StackPanel>
  <StackPanel Grid.Row="2" Grid.Column="0" Background="Green">
    <TextBlock>Row 2 Col 1</TextBlock>
  </StackPanel>
  <StackPanel Grid.Row="0" Grid.Column="1" Background="Purple">
    <TextBlock>Row 0 Col 1</TextBlock>
  </StackPanel>
  <StackPanel Grid.Row="1" Grid.Column="1" Background="Red">
    <TextBlock>Row 1 Col 1</TextBlock>
  </StackPanel>
  <StackPanel Grid.Row="2" Grid.Column="1" Background="Salmon">
   <TextBlock>Row 2 Col 1</TextBlock>
  </StackPanel>
  <StackPanel Grid.Row="0" Grid.Column="2" Background="MediumVioletRed">
    <TextBlock>Row 0 Col 2</TextBlock>
  </StackPanel>
  <StackPanel Grid.Row="1" Grid.Column="2" Background="SteelBlue">
    <TextBlock>Row 1 Col 2</TextBlock>
  </StackPanel>
  <StackPanel Grid.Row="2" Grid.Column="2" Background="Olive">
    <TextBlock>Row 2 Col 2</TextBlock>
  </StackPanel>
   
  <GridSplitter Name="myGridSplitter" Grid.Column="1" Grid.Row="1" Width="5"/>
  <StackPanel Grid.Column="3" Grid.RowSpan="3" Background="Brown">
    <TextBlock FontSize="14" Foreground="Yellow">Property Settings</TextBlock>

    <StackPanel Margin="0,5,0,0">
      <TextBlock>VerticalAlignment</TextBlock>
      <RadioButton Name="VerticalAlignmentTop" Checked="VerticalAlignmentChanged" GroupName="VerticalAlignmentProperty">
        Top
      </RadioButton>
      <RadioButton Name="VerticalAlignmentBottom" Checked="VerticalAlignmentChanged" GroupName="VerticalAlignmentProperty">
        Bottom
      </RadioButton>
      <RadioButton Name="VerticalAlignmentCenter" Checked="VerticalAlignmentChanged" GroupName="VerticalAlignmentProperty">
        Center
      </RadioButton>
      <RadioButton Name="VerticalAlignmentStretch" Checked="VerticalAlignmentChanged" IsChecked="true" GroupName="VerticalAlignmentProperty">
        Stretch (default)
      </RadioButton>
    </StackPanel>
  </StackPanel>
</Grid>
</Window>
//File:Window.xaml.cs
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Media;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace GridSplitter_Example
{
  public partial class Window1 : Window
  {
      public Window1()
      {
        InitializeComponent();
      }
        private void VerticalAlignmentChanged(object sender, RoutedEventArgs e)
        {
          if ((Boolean)VerticalAlignmentTop.IsChecked)
            myGridSplitter.VerticalAlignment = VerticalAlignment.Top;
          else if ((Boolean)VerticalAlignmentBottom.IsChecked)
            myGridSplitter.VerticalAlignment = VerticalAlignment.Bottom;
          else if ((Boolean)VerticalAlignmentCenter.IsChecked)
            myGridSplitter.VerticalAlignment = VerticalAlignment.Center;
          else if ((Boolean)(Boolean)VerticalAlignmentStretch.IsChecked)
            myGridSplitter.VerticalAlignment = VerticalAlignment.Stretch;
        }
  }
}

   
    
     


Define a GridSplitter and Horizontal Alignment Changed

image_pdfimage_print


   
  

<Window x:Class="GridSplitter_Example.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="GridSplitter Example">
<Grid>
  <Grid.ColumnDefinitions>
    <ColumnDefinition Name="Col0" />
    <ColumnDefinition Name="Col1" />
    <ColumnDefinition Name="Col2" />
    <ColumnDefinition Name="Col3" />
  </Grid.ColumnDefinitions>
  <Grid.RowDefinitions>
    <RowDefinition Name="Row0" />
    <RowDefinition Name="Row1" />
    <RowDefinition Name="Row2" />
  </Grid.RowDefinitions>

  <StackPanel Grid.Row="0" Grid.Column="0" Background="Orange">
    <TextBlock>Row 0 Col 0</TextBlock>
  </StackPanel>
  <StackPanel Grid.Row="1" Grid.Column="0" Background="Blue">
    <TextBlock>Row 1 Col 0</TextBlock>
  </StackPanel>
  <StackPanel Grid.Row="2" Grid.Column="0" Background="Green">
    <TextBlock>Row 2 Col 1</TextBlock>
  </StackPanel>
  <StackPanel Grid.Row="0" Grid.Column="1" Background="Purple">
    <TextBlock>Row 0 Col 1</TextBlock>
  </StackPanel>
  <StackPanel Grid.Row="1" Grid.Column="1" Background="Red">
    <TextBlock>Row 1 Col 1</TextBlock>
  </StackPanel>
  <StackPanel Grid.Row="2" Grid.Column="1" Background="Salmon">
   <TextBlock>Row 2 Col 1</TextBlock>
  </StackPanel>
  <StackPanel Grid.Row="0" Grid.Column="2" Background="MediumVioletRed">
    <TextBlock>Row 0 Col 2</TextBlock>
  </StackPanel>
  <StackPanel Grid.Row="1" Grid.Column="2" Background="SteelBlue">
    <TextBlock>Row 1 Col 2</TextBlock>
  </StackPanel>
  <StackPanel Grid.Row="2" Grid.Column="2" Background="Olive">
    <TextBlock>Row 2 Col 2</TextBlock>
  </StackPanel>
   
  <GridSplitter Name="myGridSplitter" Grid.Column="1" Grid.Row="1" Width="5"/>
  <StackPanel Grid.Column="3" Grid.RowSpan="3" Background="Brown">
  <TextBlock FontSize="14" Foreground="Yellow">Property Settings</TextBlock>
    <StackPanel>
      <TextBlock >HorizontalAlignment</TextBlock>
      <RadioButton Name="HorizontalAlignmentLeft" Checked="HorizontalAlignmentChanged" GroupName="HorizontalAlignmentProperty">
        Left
      </RadioButton>
      <RadioButton Name="HorizontalAlignmentRight" Checked="HorizontalAlignmentChanged" IsChecked="true" GroupName="HorizontalAlignmentProperty">
        Right (default)
      </RadioButton>
      <RadioButton Name="HorizontalAlignmentCenter" Checked="HorizontalAlignmentChanged" GroupName="HorizontalAlignmentProperty">
        Center
      </RadioButton>
      <RadioButton Name="HorizontalAlignmentStretch" Checked="HorizontalAlignmentChanged" GroupName="HorizontalAlignmentProperty">
        Stretch
      </RadioButton>
    </StackPanel>
  </StackPanel>
</Grid>
</Window>
//File:Window.xaml.cs
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Media;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace GridSplitter_Example
{
  public partial class Window1 : Window
  {
      public Window1()
      {
        InitializeComponent();
      }
      private void HorizontalAlignmentChanged(object sender, RoutedEventArgs e)
      {
          if ((Boolean)HorizontalAlignmentLeft.IsChecked)
            myGridSplitter.HorizontalAlignment = HorizontalAlignment.Left;
          else if ((Boolean)HorizontalAlignmentRight.IsChecked)
            myGridSplitter.HorizontalAlignment = HorizontalAlignment.Right;
          else if ((Boolean)HorizontalAlignmentCenter.IsChecked)
            myGridSplitter.HorizontalAlignment = HorizontalAlignment.Center;
          else if ((Boolean)HorizontalAlignmentStretch.IsChecked)
            myGridSplitter.HorizontalAlignment = HorizontalAlignment.Stretch;
      }
  }
}

   
    
     


GroupBox Demo

image_pdfimage_print


   
  
<Window x:Class="SimpleStyles.Window1"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  Title="SimpleStyles"
  Background="#F8F8F8">
  <ScrollViewer>
    <WrapPanel>
      <HeaderedItemsControl Header="GroupBox">
        <StackPanel>
          <GroupBox Margin="8" Header="This is the Header" Width="200" >
            <Border Height="100" />
          </GroupBox>
        </StackPanel>
      </HeaderedItemsControl>
   
    </WrapPanel>
  </ScrollViewer>
</Window>

   
    
     


GroupBox Header with mixed content

image_pdfimage_print


   
            

<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      HorizontalAlignment="Center" VerticalAlignment="Center">
<GroupBox>
  <GroupBox.Header>
    <StackPanel Orientation="Horizontal">
      <TextBlock Text="A" FontStyle="Italic" VerticalAlignment="Center" />
      <TextBlock Text="B" VerticalAlignment="Center" />
      <Ellipse Fill="Red" Width="20" Height="60" />
      <TextBlock Text="C" VerticalAlignment="Center" FontWeight="Bold" />
      <Button Content="_header" VerticalAlignment="Center" />
    </StackPanel>
  </GroupBox.Header>
  <TextBlock Text="Boring content" />
</GroupBox>
</Page>

   
    
    
    
    
    
    
    
    
    
    
    
     


Expander Header

image_pdfimage_print


   
 
<Window x:Class="SimpleStyles.Window1"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  Title="SimpleStyles"
  Background="#F8F8F8">
  <ScrollViewer>
    <WrapPanel>
      <HeaderedItemsControl Header="Expander">
        <StackPanel Orientation="Horizontal">
          <Expander Width="200" Margin="8"  Header="This is the Header">
            <Border Height="100" />
          </Expander>
        </StackPanel>
      </HeaderedItemsControl>
   
    </WrapPanel>
  </ScrollViewer>
</Window>

   
     


HierarchicalDataTemplate data binding

image_pdfimage_print


   
    

<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="XML Data Binding">
<Grid xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <Grid.Resources>
    <HierarchicalDataTemplate DataType="Employees" ItemsSource="{Binding XPath=*}">
      <TextBlock FontStyle="Italic" Text="All Game Stats"/>
    </HierarchicalDataTemplate>
    <HierarchicalDataTemplate DataType="Employee" ItemsSource="{Binding XPath=*}">
      <TextBlock FontWeight="Bold" FontSize="20" Text="{Binding XPath=@Type}"/>
    </HierarchicalDataTemplate>
    <DataTemplate DataType="YearOfWorking">
      <TextBlock Foreground="Blue" Text="{Binding XPath=.}"/>
    </DataTemplate>
    <XmlDataProvider x:Key="dataProvider" XPath="Employees">
      <x:XData>
        <Employees xmlns="">
          <Employee Type="Beginner">
            <YearOfWorking>1</YearOfWorking>
          </Employee>
          <Employee Type="Intermediate">
            <YearOfWorking>2</YearOfWorking>
          </Employee>
          <Employee Type="Advanced">
            <YearOfWorking>3</YearOfWorking>
          </Employee>
        </Employees>
      </x:XData>
    </XmlDataProvider>
  </Grid.Resources>
    <TreeView ItemsSource="{Binding Source={StaticResource dataProvider},XPath=.}" />
</Grid>

</Window>