wpf堆栈面板

wpf堆栈面板,wpf,xaml,stackpanel,Wpf,Xaml,Stackpanel,简单的问题,我有一个带有工具栏和列表框的堆栈面板,我想让列表框填满剩余的空间,但它不会。这是我目前的情况 <Window x:Class="TestClientMainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Testing client" Hei

简单的问题,我有一个带有工具栏和列表框的堆栈面板,我想让列表框填满剩余的空间,但它不会。这是我目前的情况

<Window x:Class="TestClientMainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Testing client" Height="350" Width="525"
    DataContext="{StaticResource ResourceKey=TheViewModel}" Background="#FFD4BFBF">
<Grid>
    <StackPanel HorizontalAlignment="Stretch" Name="stackPanel1" VerticalAlignment="Stretch">
        <ToolBar Height="26" Name="toolBar1" />
        <ListBox Name="listBox1" VerticalAlignment="Stretch" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" MinHeight="{Binding ElementName=stackPanel1, Path=Height}" Height="99" />
    </StackPanel>
</Grid>
尝试使用DockPanel,工具栏固定在顶部或底部,DockPanel上的LastChildFill属性设置为true

尝试使用DockPanel,工具栏固定在顶部或底部,DockPanel上的LastChildFill属性设置为true


StackPanel不会轻易说服您做您想做的事情


我会使用网格来代替。

StackPanel不会轻易说服你去做你想做的事情


我将使用网格代替。使用DockPanel代替StackPanel,并将LastChildFill属性设置为true。这应该可以做到。

使用DockPanel而不是StackPanel,并将LastChildFill属性设置为true。这应该可以解决问题。

尝试使用DockPanel而不是StackPanel。通过这种方式,您可以将LastChildFill设置为true,并且作为最后包含的元素的ListBox将拉伸以填充其剩余空间:

<DockPanel LastChildFill="True" HorizontalAlignment="Stretch" Name="dockPanel1" VerticalAlignment="Stretch">
    <ToolBar Height="26" Name="toolBar1" />
    <ListBox Name="listBox1" VerticalAlignment="Stretch" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" MinHeight="{Binding ElementName=stackPanel1, Path=Height}" Height="99" />
</DockPanel>
尝试使用DockPanel而不是StackPanel。通过这种方式,您可以将LastChildFill设置为true,并且作为最后包含的元素的ListBox将拉伸以填充其剩余空间:

<DockPanel LastChildFill="True" HorizontalAlignment="Stretch" Name="dockPanel1" VerticalAlignment="Stretch">
    <ToolBar Height="26" Name="toolBar1" />
    <ListBox Name="listBox1" VerticalAlignment="Stretch" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" MinHeight="{Binding ElementName=stackPanel1, Path=Height}" Height="99" />
</DockPanel>

哦,你知道我现在有多傻吗?我希望StackPanel能像DockPanel一样工作。谢谢大家。哦,你们知道我现在有多傻吗?我希望StackPanel能像DockPanel一样工作。谢谢大家。