如何将StackPanel的MinHeight设置为其内容的组合高度?

时间:2009-09-22 18:53:35

标签: wpf xaml resize stackpanel

我有一个StackPanel,里面有几个CheckBox控件。在调整窗口大小时,如何防止StackPanel缩小并遮挡CheckBox控件?

    <StackPanel Margin="12,89,12,62" Name="stackPanel1">
        <CheckBox Name="chkOption1" Width="157" IsChecked="True" Margin="6">Do this thing</CheckBox>
        <CheckBox Name="chkOption2" Width="157" IsChecked="True" Margin="6">Do another thing</CheckBox>
        <CheckBox Name="chkOption2" Width="157" Margin="6">Do a third thing</CheckBox>
        <Button Height="23" Name="btnRunOperations" Click="btnRunOperations_Click" Margin="3">Do Selected Things</Button>
    </StackPanel>

编辑:WPF是否有一个不同的容器控件,这种行为“开箱即用”?这似乎是一种非常常见的情况。

3 个答案:

答案 0 :(得分:0)

嗯,我想你可以将stackpanel的MinimumHeight设置为适当的值,硬编码,或者计算为其中所有元素的高度之和。

答案 1 :(得分:0)

你可以使用绑定和自定义转换器,转换器为你计算值。

<StackPanel Height="{Binding Converter=MyConverter}"/>

答案 2 :(得分:0)

您应该将StackPanel包装在ScrollViewer中。默认情况下,它会要求显示其所有子项所需的高度。