已关闭,此问题需要details or clarity。目前不接受答复。
**想改善这个问题吗?**通过editing this post添加详细信息并澄清问题。
昨天关门了。
这篇文章是编辑并提交审查17小时前.
Improve this question
我的用例-我有一个固定高度(比如40 px)的按钮水平布局(目前是StackPanel)。按钮排成一行,每个按钮高度为40。按钮可以有不同的宽度(取决于内容-文本)。用户可以编辑按钮文本,因此宽度可以在运行时更改。
我需要一种方法来处理的情况下,按钮溢出可用的水平空间没有滚动。在这种情况下,用户希望将布局更改为2行。按钮高度将相应修改(更改为20)。
我希望它尽可能简单。
我不想做一个自定义控件覆盖OnMeasure/OnArrangement等。但我不想使用像素的文本长度计算,这是永远不可靠的,需要考虑到显示器的DPI和有问题的窗口可以在具有不同DPI的显示器之间移动等。
有什么实际的解决办法吗?
如何构建一个自定义的WrapPanel
,以便在子元素溢出到第二行时通知它们?
1条答案
按热度按时间6psbrbz91#
您可以创建一个自定义Wrappanel-Class,用于在行数更改时设置itemheight属性:
为此,您所要做的就是基于公开属性中的行数的普通WrapPanel编写WrapPanel类