1

在我以前的一个应用程序中,我需要动态地将控件添加到 winforms 项目中的 flowlayoutpanel,但是一旦面板中没有更多空间可以容纳它们,我需要它们停止加载。

为了实现这一点,我写道:https ://github.com/LucasMoffitt/WordFiller/blob/master/WordFiller.Controls/WordLayoutPanel.cs

如果入站控件触及我在面板底部绘制的矩形,这基本上只是将属性设置为 false。

在尝试在 WPF 中复制此行为时,我找不到任何方法可以强制 WrapPanel 在已满时停止接收控件。

我试图覆盖 Arrange 和 Measure 方法,但只有在添加了所有控件后才会调用它们。我需要能够完全停止加载控件。

有人有想法么?

4

2 回答 2

0

你可以检查ActualHeight/AcxtualWidth反对DesiredHeight/ DesiredWidth。当DesiredHeight变得大于ActualHeight- 面板开始重叠。

于 2012-03-23T07:33:34.113 回答
0

所以我最终接受了一些建议并得出了这个结论:

https://github.com/LucasMoffitt/CustomWrapPanel

基本上这就是我开始做的事情,只是稍微整理一下,并有一个演示应用程序。

如果有人找到更好的方法,我鼓励所有贡献!

于 2012-03-29T08:18:50.703 回答