代码之家  ›  专栏  ›  技术社区  ›  Thomas daign

与内容相关的窗口大小

wpf
  •  1
  • Thomas daign  · 技术社区  · 16 年前

    我有两个关于窗户尺寸的问题。基本布局如下

    <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) 如何使窗口在水平方向上不小于DockPanel的宽度?

    2) 如何将ScrollViewer限制在窗口的限制范围内?它正在根据内容调整自己的大小,延伸到窗口的边界之外。
    当我有

    <Window><ScrollViewer/></Window>
    

    ,但我真的不想把DockPanel放在卷轴里。在当前形式中,它甚至迫使窗口打破其最大高度。

    2 回复  |  直到 16 年前
        1
  •  2
  •   Jobi Joy    16 年前

    我建议您将Grid与*Lenght一起使用,而不是DockPanel和StackPanel。

        2
  •  1
  •   Tim Cooper    14 年前

    把那些扔掉 StackPanel s.将其替换为 Grid s,你应该做得很好。布局逻辑 堆栈面板 它会在某个方向(垂直于 堆栈面板 按照他们的要求。这就是为什么你会看到奇怪的布局问题。