【问题标题】:WPF: Control that never causes children to NOT consume all available spaceWPF:永远不会导致孩子不消耗所有可用空间的控件
【发布时间】:2010-02-05 01:01:06
【问题描述】:

现在我在DockPanels 中遇到了StackPanels 的问题。 StackPanel 通常高于内容所需的高度,因此内容被拉伸。

我可以在StackPanel 中或周围放置一些东西来表示“不要让孩子占用所有可用空间”。

【问题讨论】:

    标签: wpf size children stackpanel dockpanel


    【解决方案1】:

    AFAIK StackPanel 的内容不要“拉伸”来填充它,而不是任何其他控件。即填充的拉伸将由子元素的HorizontalAlignmentVerticalAlignment 控制。

    默认值通常是Stretch。尝试将其设置为Left 等。

    【讨论】:

    • 我认为拉伸不是由堆栈面板本身引起的,而是由堆栈面板所在的位置引起的。
    • 无论 stackpanel 在什么位置,都不应影响 stackpanel 子项。正如您所说,我在停靠面板中尝试了一个带有 stackpanel 的示例,它工作正常 - 我可以选择拉伸或不拉伸 stackpanel 的子项。你能发布一个代码示例吗?
    • 谢谢。您的回答以前没有意义,但现在我对 WPF 有了更多的了解,我发现您是正确的。
    【解决方案2】:

    好吧,你想让你的StackPanel 做什么?如果您希望它只占用可见空间,请使用网格。如果你想滚动你StackPanel的内容,相信你可以把它放在ScrollViewer中。

    【讨论】:

    • 我觉得堆栈面板本身会占用所有空间。我不喜欢的是堆栈面板内的按钮也占用了所有空间。
    • 我想施耐德可能知道发生了什么。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-09
    • 2023-03-13
    相关资源
    最近更新 更多