【问题标题】:WPF What container should i useWPF 我应该使用什么容器
【发布时间】:2010-10-14 13:15:15
【问题描述】:

我想要的是这可以说我有一个宽度为 100 和高度为 100 的“面板”

现在我想放置大小为 20 的 X 个对象,所以当我添加更多 5 个项目时,它应该将所有项目放在一行上

|项目1|项目2|项目3|项目4|项目5|

现在如果我要再添加一个,那么我希望它分成 2 行,每行 3 个项目

|项目1|项目2|项目3|

|项目4|项目5|项目6|

我想你明白了,我尝试了堆栈面板,但我无法让它按照我想要的方式工作..

编辑:
好吧,如果每行都有相同数量的项目,那么 mutch 没关系.. 所以 wrapPanel 应该完成下一个问题 -> Here

【问题讨论】:

  • 您希望行中的项目数相等?

标签: wpf layout


【解决方案1】:

没有标准的 WPF 面板可以为您执行此操作。 WrapPanel 接近,但它不能确保您的行是偶数。你最好的办法是实现你自己的面板。 Here's a good example on codeproject

【讨论】:

    【解决方案2】:

    WrapPanel 应该适合您的需求:

    控件位于任一 基于方向的堆栈或行 财产。除了堆叠, WrapPanel 提供包装支持 对于包含的控件。因此,如果更多 控件被添加到 WrapPanel 比 可以按宽度显示 WrapPanel,它们被缠绕到 形成一个额外的堆栈或行。

    说实话,我自己还没有尝试过这个具体要求。

    【讨论】:

    • 关闭,但 WrapPanel 只会包装最后一个不适合的项目 - 而不是三人组。
    • 没错,老实说,我错过了问题中的那一部分。我希望它足够接近!
    【解决方案3】:

    我猜你可以使用 WrapPanel...但是你会得到 2 行,(5 个项目和 1 个项目)..

    如果你有 7 件物品会怎样?

    【讨论】:

      【解决方案4】:

      我认为您无法获得自动执行此操作的容器控件。您可以有一个有两行的 Grid,每行有一个 StackPanel。添加项目时,您需要以编程方式选择将每个项目放入哪个 StackPanel。

      【讨论】:

        猜你喜欢
        • 2010-11-03
        • 1970-01-01
        • 1970-01-01
        • 2012-12-21
        • 1970-01-01
        • 1970-01-01
        • 2011-08-01
        • 2019-12-09
        • 2013-11-27
        相关资源
        最近更新 更多