2011-06-30 9 views
1

私のアプリケーションでは、いつでもいくつかの異なるコントロールの1つを含むことができるメインウィンドウの領域があります。WPF:コントロールに必要なスペースを見つける

このコントロールは実行時に生成され、その内容は基礎となるデータによって変わる可能性があるため、どのくらいのスペースを取るかはわかりません。

私が知りたいのは、実行時に、コントロールが「切り捨てられない」、またはスクロールが必要ないために必要なスペースを決定する方法があるかどうかです。すなわち、どのくらいのスペースを完全に表示する必要がありますか?

私はいつもではない「DesiredSizeを」プロパティを試してみましたが、それちょっと作品を、しかし:コントロールは、(それが既にサイズが)既に使用されている場合、それはあっても、それは最後に使用サイズではなく、正しいものだ返します私は "InvalidateMeasure()"と呼ぶ。

任意のアイデア?

答えて

2

コントロールのMeasureを呼び出します。計算に使用できるサイズとして無限のスペースを与えます。次に、DesiredSizeをチェックして、必要な幅(および/または高さ)を取得します。

+0

ありがとうございます、これは正しいアプローチであると思われ、いくつかのテストを行い、うまくいきます! –

+0

この場合、アレンジは必要ありません。 DesiredSizeはメジャーパスで計算され、アレンジパスはRenderSizeを計算します。 –

+0

@マラット:そうです、私は答えを変えました。 – HCL

関連する問題