本质上我想要一个wrapPanel,但我希望项目能够捕捉到网格而不是被压到左侧,这样我就可以获得一个漂亮的统一外观的网格,它会自动消耗可用空间。
WrapPanel 处理调整大小部分。
WPF.Contrib.AutoGrid 处理一个很好的自动网格。
有人有结合它们的控件吗?
我的用例是我有一系列形状不规则的控件。我希望它们出现在漂亮的列中,以便在放置控件时包裹面板应捕捉到下一个“制表位”
当我读到你的问题时,我假设你想要这样的东西:
public class UniformWrapPanel : WrapPanel
{
protected override Size MeasureOverride(Size constraint)
{
if(Orientation == Orientation.Horizontal)
ItemWidth = Children.Select(element =>
{
element.Measure(constraint);
return element.DesiredWidth;
}).Max();
else
... same for vertical ...
return base.MeasureOverride(constraint);
}
}
但我看到其他人已经实现了“UniformWrapPanel”,并且从您的评论中您表明这不是您想要的。
我不明白的评论是:
我希望它不强制项目具有给定的尺寸,而是使用它们已经存在的尺寸,从而自动确定列宽
您能否提供一个示例来说明您希望如何以不同的尺寸布置事物?一张照片可能会很好看。您还提到了“tabstop”,但没有给出任何定义。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)