是否有 WPF WrapPanel 的替代方案,可以在一定数量的项目(而不是高度)之后换行?
通常,WPF WrapPanel
(Orientation="Vertical") 会垂直堆叠项目(并垂直增长),直到耗尽父容器的空间,然后它将“换行”到下一列。
我想要此功能,但我想对列中的项目数量添加硬性限制。例如,如果我的高度是 100,并且我有 3 个 30 像素高的项目,通常它可以容纳所有项目而无需包装。但是,假设我想强制它在 2 之后换行。在这种情况下,我希望它只增长到 60 的高度,并将第三个项目换行到第二列中。
我可以做些什么来实现这一点吗?
Normally a WPF WrapPanel
(Orientation="Vertical") will stack items vertically (and grow vertically) until it runs out of space from the parent container, and then it will "wrap" to the next column.
I want this functionality, but I want to add a hard limit to the number of items in a column. For instance, if my height is 100 and I have 3 items that are 30 pixels high, normally it could fit them all without wrapping. However, say I want to force it to wrap after 2. In that case, I want it to only grow to a height of 60, and wrap the 3rd item into the second column.
Is there something I can do to make this happen?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
也许您可以使用 UniformGrid.
使用 Rows 属性定义垂直方向上的元素数量。
Maybe you can do it with the UniformGrid.
Use the Rows property to definie the amount of elements in vertical direction.
此处是一篇关于 WPF 中可用布局面板的精彩小文章。如果其中之一不符合要求,您可能需要构建自己的自定义面板,此处是一个不错的演示。
here is a nice little article about the available layout panels in WPF. If one of these does not fit the bill, you might have to build your own custom panel, here is a decent demo.