0

という依存関係プロパティを持つ UserControl がありますItemsSource。プロパティが変更されると、さまざまな要素のサイズを計算する必要があります。これを行うには、UserControlActualWidthActualHeightプロパティにアクセスする必要があります。

ItemsSource問題は、レイアウトの更新が発生する前にオブジェクトが割り当てられ、0ActualWidthである場合です。ActualHeight

レイアウトの更新が発生する前にプロパティを変更できるようにしながら、プロパティの変更イベントに応答する前にレイアウトの更新を確実に行うにはどうすればよいですか?

4

2 に答える 2

1

これはあなたが探しているものですか - UpdateLayout()

これは UIElement で定義される関数ですが、レイアウト パスが発生するため、頻繁に使用することはお勧めしません。

于 2009-09-07T00:26:19.887 に答える
0

後で、データ ソースが変更されるたびに行と列を再構築する必要がないことに気付きました。代わりにSizeChanged、UserControl でイベントを処理し、そこでサイズ計算を実行します。コントロールが最初に表示されたときにイベントが発生するように見えるため、余分な労力をかけずに最初の計算を行うことができます。

于 2009-09-07T03:16:28.757 に答える