WPF主左高100%,主右高100%和页脚

WPF主左高100%,主右高100%和页脚,wpf,Wpf,我已经用主左、主右和页脚创建了以下设计 然而,我希望主左是高度100%,以便深灰色的背景色一直到页脚。 我试着设置height=*,但没用 我的设计: NewProjectWindow.xaml <Window x:Class="QuickImageForensicsWPF.NewProject.NewProjectWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

我已经用主左、主右和页脚创建了以下设计

然而,我希望主左是高度100%,以便深灰色的背景色一直到页脚。 我试着设置height=*,但没用

我的设计:

NewProjectWindow.xaml

<Window x:Class="QuickImageForensicsWPF.NewProject.NewProjectWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:QuickImageForensicsWPF.NewProject"
        mc:Ignorable="d"
        Title="New Project | Quick Image Forensics" Height="{DynamicResource {x:Static SystemParameters.MaximizedPrimaryScreenHeightKey}}" Width="{DynamicResource {x:Static SystemParameters.MaximizedPrimaryScreenWidthKey}}"  Top="0" Left="0">

    <Window.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="..\res\style\Btn.xaml" />
                <ResourceDictionary Source="..\res\style\Input.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Window.Resources>


    <Grid Background="#FF45474A">
        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
            <RowDefinition Height="Auto" />
        </Grid.RowDefinitions>

        <!-- Main -->
        <StackPanel x:Name="stackPanelMain" Grid.Row="0" Grid.Column="0" >
            <Grid Background="#FF45474A">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="400" />
                    <ColumnDefinition Width="*" />
                </Grid.ColumnDefinitions>

                <StackPanel x:Name="stackPanelLeft" Grid.Row="0" Grid.Column="0" Background="#FF393939" Margin="0,0,20,0">
                    <!-- Left content -->
                    <Label x:Name="labelProjects"  Content="New project" Margin="0,20,0,0" FontSize="16" Foreground="#FFBABAA8" FontWeight="Bold"/>
                    <Label x:Name="labelNewProjectStep01" Content="Project information" Margin="0,0,0,0" FontSize="14" Foreground="#FFBABAA8" FontStyle="Italic" />
                    <Label x:Name="labelNewProjectStep02" Content="Automated tasks" Margin="0,0,0,0" FontSize="14" Foreground="#FFBABAA8"  />
                    <Label x:Name="labelNewProjectStep03" Content="Search" Margin="0,0,0,0" FontSize="14" Foreground="#FFBABAA8" />
                    <!-- //Left content -->
                </StackPanel>
                <StackPanel x:Name="stackPanelRight" Grid.Row="0" Grid.Column="1">
                    <!-- Right content -->
                    <DockPanel x:Name="dockPanelMain" LastChildFill="False">
                        <local:NewProjectStep01ProjectInformationUserControl x:Name="newProjectStep01ProjectInformationUserControl" Panel.ZIndex="0" />
                        <local:NewProjectStep02AutomatedTasksUserControl x:Name="NewProjectStep02AutomatedTasksUserControl" Panel.ZIndex="1" />
                        <local:NewProjectStep03SearchUserControl x:Name="NewProjectStep03SearchUserControl" Panel.ZIndex="2" />
                    </DockPanel>
                    <!-- //Right content -->
                </StackPanel>
            </Grid>
        </StackPanel>
        <!-- //Main -->


        <!-- Footer -->
        <StackPanel x:Name="stackPanelFooter" Grid.Row="1" Grid.Column="0">
            <Border BorderBrush="#FF323232" BorderThickness="1" DockPanel.Dock="Top" Padding="0,0,0,0">
                <Grid Background="#FF45474A">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="400" />
                        <ColumnDefinition Width="*" />
                    </Grid.ColumnDefinitions>

                    <StackPanel Grid.Column="1" Orientation="Horizontal" Margin="0,20,0,20">
                        <Button x:Name="buttonPrevious" Content=" Previous " VerticalAlignment="Bottom" Click="buttonPrevious_Click" Style="{StaticResource btn_default}" HorizontalAlignment="Left"  Margin="0,0,10,0" />
                        <Button x:Name="buttonNext" Content=" Next " VerticalAlignment="Bottom" Click="buttonNext_Click" Style="{StaticResource btn_default_success}" HorizontalAlignment="Left" />
                    </StackPanel>
                </Grid>
            </Border>
        </StackPanel>
        <!-- //Footer -->

    </Grid>
</Window>


该程序是C#WPF,带有.NETFramework v4.7.2。

对于Main,我用网格布局替换了
stackpanel
,并添加了
verticalignment=“Stretch”



非常感谢Satish Pai。用网格替换stackpanel成功了@欧罗巴很高兴能帮助你:)
<Grid x:Name="stackPanelMain" Grid.Row="0" Grid.Column="0"  VerticalAlignment="Stretch"  >
            <Grid Background="#FF45474A"  VerticalAlignment="Stretch"  >
                <Grid.RowDefinitions>
                    <RowDefinition Height="400*" />
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="400" />
                    <ColumnDefinition Width="*" />
                </Grid.ColumnDefinitions>


                <StackPanel x:Name="stackPanelLeft" Grid.Row="0" Grid.Column="0" Background="#FF393939" Margin="0,0,20,0">
                    <!-- Left content -->
                    <Label x:Name="labelProjects"  Content="New project" Margin="0,20,0,0" FontSize="16" Foreground="#FFBABAA8" FontWeight="Bold"/>
                    <Label x:Name="labelNewProjectStep01" Content="Project information" Margin="0,0,0,0" FontSize="14" Foreground="#FFBABAA8" FontStyle="Italic" />
                    <Label x:Name="labelNewProjectStep02" Content="Automated tasks" Margin="0,0,0,0" FontSize="14" Foreground="#FFBABAA8"  />
                    <Label x:Name="labelNewProjectStep03" Content="Search" Margin="0,0,0,0" FontSize="14" Foreground="#FFBABAA8" />
                    <!-- //Left content -->
                </StackPanel>
                <StackPanel x:Name="stackPanelRight" Grid.Row="0" Grid.Column="1">
                    <!-- Right content -->
                    <DockPanel x:Name="dockPanelMain" LastChildFill="False">
                        <!--<local:NewProjectStep01ProjectInformationUserControl x:Name="newProjectStep01ProjectInformationUserControl" Panel.ZIndex="0" />
                        <local:NewProjectStep02AutomatedTasksUserControl x:Name="NewProjectStep02AutomatedTasksUserControl" Panel.ZIndex="1" />
                        <local:NewProjectStep03SearchUserControl x:Name="NewProjectStep03SearchUserControl" Panel.ZIndex="2" />-->
                    </DockPanel>
                    <!-- //Right content -->
                </StackPanel>
            </Grid>
        </Grid>