簡體   English   中英

如何確保發生布局更新?

[英]How do I ensure that a layout update has occurred?

我有一個帶有名為ItemsSource的依賴項屬性的UserControl。 更改屬性后,我需要計算各種元素的大小。 為此,我必須訪問UserControl的ActualWidthActualHeight屬性。

問題是,如果在布局更新發生之前將對象分配給ItemsSource ,則ActualWidthActualHeight為0。

如何確保在響應屬性更改事件之前發生布局更新,同時仍然允許在發生布局更新之前更改屬性?

這是您要尋找的-UpdateLayout()

這是在UIElement上定義的功能,但是不建議您頻繁使用,因為這會導致布局傳遞。

后來我意識到,我每次數據源更改時實際上都不需要重建行和列。 相反,我在UserControl上處理SizeChanged事件,並在那里執行大小計算。 首次顯示該控件時,該事件似乎觸發,因此有機會進行初始計算而無需任何額外的努力。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM