GRID SPLITTER PROBLEM IN WPF

Ankita Pandey

Total Post:183

Points:1285
Posted by  Ankita Pandey
WPF 
WPF
 2653  View(s)
Ratings:
Rate this:
Hi Developers!

I want a layout like VS 2008. In which I want two columns and second columns is again split into two.

I done that in the xaml mentioned below, but the GridSplitter is not visible vertically ( which split two columns).

I want both the GridSplitters to be resizable. One GridSplitter resizes the Left Hand Pane and Right Hand Pane and another GridSplitter resizes the subgrid's top pane and right pane.

The Second GridSplitter is working through this XAML but I am not able to produce XAML code that Splits the Right hand Pane and Left hand pane.Pleas Help!!

<Window x:Class="AlarmUI_2.Window1"

        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

        Title="Window1" Height="300" Width="300">

    <Grid>

        <Grid.ColumnDefinitions>

            <ColumnDefinition Width="*"/>

            <ColumnDefinition Width="*"/>

        </Grid.ColumnDefinitions>

        <StackPanel Background="Aqua" Grid.Column="0" >

            <TextBlock FontSize="35" Foreground="#58290A"

                       TextWrapping="Wrap">Left Hand Side</TextBlock>

        </StackPanel>

        <GridSplitter Grid.Column="0" ResizeDirection="Auto"

                      Grid.RowSpan="1"

                      HorizontalAlignment="Stretch"

                      VerticalAlignment="Center"/>

        <Grid Grid.Column="1">

            <Grid.RowDefinitions>           

                <RowDefinition Height="*" />

                <RowDefinition Height="*" />

            </Grid.RowDefinitions>

            <ListBox Grid.Row="0" Background="Red">

                <ListBoxItem>Hello</ListBoxItem>

                <ListBoxItem>World</ListBoxItem>

            </ListBox>

            <GridSplitter Grid.Row="1" Height="5" Background="Gray"

                          VerticalAlignment="Top" HorizontalAlignment="Stretch" />

            <ListBox Grid.Row="1" Background="Violet" Margin="0,5,0,0">

                <ListBoxItem>Hello</ListBoxItem>

                <ListBoxItem>World</ListBoxItem>

            </ListBox>

        </Grid>

    </Grid>

</Window>

Please help me!

  1. shreesh chandra shukla

    Post:105

    Points:735
    Re: Grid Splitter problem in WPF

    Hi!

    Change your vertical Splitter to 

    <GridSplitter Grid.Column="0" Width="5" ResizeDirection="Auto"

                Grid.RowSpan="1"

                HorizontalAlignment="Right"

                VerticalAlignment="Stretch"/> 

    This will be much better way to use GridSplitter 

    <Grid>

        <Grid.ColumnDefinitions>

            <ColumnDefinition Width="*"/>

            <ColumnDefinition Width="5"/>

            <ColumnDefinition Width="*"/>

        </Grid.ColumnDefinitions> 

        <StackPanel Background="Aqua" Grid.Column="0" >

            <TextBlock FontSize="35" Foreground="#58290A"

               TextWrapping="Wrap">Left Hand Side</TextBlock> 

        </StackPanel>

        <GridSplitter Grid.Column="1" HorizontalAlignment="Stretch"/> 

        <Grid Grid.Column="2">

            <Grid.RowDefinitions>

                <RowDefinition Height="*" />

                <RowDefinition Height="5" />

                <RowDefinition Height="*" />

            </Grid.RowDefinitions>

            <ListBox Grid.Row="0" Background="Red">

                <ListBoxItem>Hello</ListBoxItem>

                <ListBoxItem>World</ListBoxItem>

            </ListBox>

            <GridSplitter Grid.Row="1" Background="Gray" HorizontalAlignment="Stretch"/>

            <ListBox Grid.Row="2" Background="Violet">

                <ListBoxItem>Hello</ListBoxItem>

                <ListBoxItem>World</ListBoxItem>

            </ListBox>

        </Grid>

    </Grid>

Answer

NEWSLETTER

Enter your email address here always to be updated. We promise not to spam!