窗口大小与内容相关

时间:2008-12-03 18:38:02

标签: wpf

我有一个关于我有一个窗口的尺寸问题。基本布局就像这样

<Window MaxHeight="{DynamicResource {x:Static SystemParameters.VirtualScreenHeight}}"
        MaxWidth="{DynamicResource {x:Static SystemParameters.VirtualScreenWidth}}" 
        >
    <StackPanel>
        <DockPanel LastChildFill="False">
            <StackPanel DockPanel.Dock="Left"
                        Orientation="Horizontal">
                <!--Some buttons-->
            </StackPanel>
            <StackPanel DockPanel.Dock="Right"
                        Orientation="Horizontal">
                <!--Some buttons-->
            </StackPanel>
        </DockPanel>
        <ScrollViewer>
            <WrapPanel x:Name="Container">
            </WrapPanel>
        </ScrollViewer>
    </StackPanel>
</Window>

1)如何使Window不会比DockPanel的宽度小?

2)如何将ScrollViewer限制在Window的限制范围内?它正在调整其内容的大小,超越了窗口的范围 当我有

时,它有点像以前一样工作
<Window><ScrollViewer/></Window>

,但我真的不希望DockPanel在滚动条内。在当前形式中,甚至强制Window打破其MaxHeight。

2 个答案:

答案 0 :(得分:2)

我建议你使用带有* Lenght的Grid而不是DockPanel和StackPanel。

答案 1 :(得分:1)

摆脱那些StackPanel。用Grid替换它们你应该是好的。 StackPanel的布局逻辑是这样的,它会给孩子们在某个方向(垂直于StackPanel方向)所需的空间。这就是为什么你会看到奇怪的布局问题。