0

How do I get the bottom textblock to fill up the remaining space horizontally and vertically?

alt text

I've got a shell that has this region:

<DockPanel Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="2" LastChildFill="True"  
Background="Orange">

    <ItemsControl x:Name="MainNavigationPanel" 
        Background="Yellow"
        DockPanel.Dock="Left"
        cal:RegionManager.RegionName="MainNavigationPanel"
            Width="200" 
            HorizontalAlignment="Left"/>


    <StackPanel x:Name="MainContent"
        Background="Beige"
        Width="Auto"
        Height="Auto"
        VerticalAlignment="Stretch"
        HorizontalAlignment="Stretch"
        >
        <TextBlock Text="This will be the main region content."/>
        </StackPanel>

</DockPanel>

And in MainNavigationPanel I load this view:

<UserControl x:Class="MenuModule.Views.MainNavigationView"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:igOB="http://infragistics.com/OutlookBar"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    VerticalAlignment="Stretch" 
    HorizontalAlignment="Stretch">

    <DockPanel LastChildFill="True"
        Background="Red"
        HorizontalAlignment="Left"
        VerticalAlignment="Stretch">

            <TextBlock Text="first" 
            DockPanel.Dock="Top"
            Background="LightBlue"
            VerticalAlignment="Stretch"
            HorizontalAlignment="Stretch"/>

            <TextBlock Text="second" 
            DockPanel.Dock="Bottom"
            Background="LightGreen"
            VerticalAlignment="Stretch"
            HorizontalAlignment="Stretch"/>

    </DockPanel>

</UserControl>
Glorfindel
  • 21,988
  • 13
  • 81
  • 109
Edward Tanguay
  • 189,012
  • 314
  • 712
  • 1,047

1 Answers1

2

Dockpanel will automatically fill in the remaining space with the last item that does not have a DockPanel.Dock attached property specified and a Height/Width specified.

The sample I provided for you here illustrates this technique in the Shell.Xaml: Looking for Prism example of Modules loading themselves into a menu

You can also find this fact in the MSDN documentation in the "Remarks" section for a DockPanel: DockPanel on MSDN

Community
  • 1
  • 1
Anderson Imes
  • 25,500
  • 4
  • 67
  • 82