1

以前のアプリの 1 つで、winforms プロジェクトの flowlayoutpanel にコントロールを動的に追加する必要がありましたが、パネルに収まるスペースがなくなったら、読み込みを停止する必要がありました。

これを達成するために私は書いた: https://github.com/LucasMoffitt/WordFiller/blob/master/WordFiller.Controls/WordLayoutPanel.cs

これは基本的に、受信コントロールがパネルの下部に描画した四角形に触れると、プロパティを false に設定するだけです。

WPF でこの動作を再現しようとしているときに、WrapPanel がいっぱいになった場合にコントロールの取り込みを強制的に停止する方法が見つかりません。

Arrange メソッドと Measure メソッドをオーバーライドしようとしましたが、すべてのコントロールが追加された後にのみ呼び出されます。コントロールが読み込まれないようにする必要があります。

誰にもアイデアはありますか?

4

2 に答える 2

0

それで、いくつかの提案を取り入れて、これに到達しました:

https://github.com/LucasMoffitt/CustomWrapPanel

基本的には、少し整然としたものから始めようとしていたもので、デモアプリがあります。

誰かがそれを行うためのより良い方法を見つけた場合、私はすべての貢献を奨励します!

于 2012-03-29T08:18:50.703 に答える
0

ActualHeight/AcxtualWidthに対してDesiredHeight/をチェックできDesiredWidthます。DesiredHeightより大きくなるとActualHeight- パネルが重なり始めました。

于 2012-03-23T07:33:34.113 に答える