2009-05-27 80 views
3

特定場景。 ControlA更改一個值,該值導致ControlB(scrollviewer的子類)重新配置其視口,偏移量和範圍,然後觸發ScrollableChanged事件。 ControlB還捕獲「ScrollableChanged」事件並以編程方式滾動到確定的偏移量。這會造成這種可怕的雙重重繪,如果我可以在執行計算後的滾動之後更改值和resumelayout之前調用suspendlayout,將會完全避免這種重繪。等效於WPF中的SuspendLayout和ResumeLayout

我該怎麼做?

回答

4

here

由於佈局在一個單獨的 傳被隱式地從 更新受阻,而UI線程繁忙 做別的事情做。因此,您可以添加所需的所有控件,並且 更改所需的所有屬性,並且 更改將不會生效,直到UI線程返回 。