2011-11-12 86 views
-2

我想在後臺代碼中手動觸發ItemsControl的Measure/Arrange佈局傳遞,無需用戶交互。可能嗎?如果是,如何?我試過InvalidateMeasure(),UpdateLayout(),但沒用。WPF中的佈局系統

+0

你真正的問題是什麼?爲什麼你需要觸發佈局管理? – Vlad

回答

1

使用InvalidateVisual方法來調用重新繪製:

的失效元素的呈現,並強制執行完整的新佈局 通。 OnRender在佈局週期完成後調用。

然而,微軟建議,這應該幾乎可以手動在應用中使用,有可能是另一種解決問題的方法(如正確使用依賴屬性,例如),如果我們知道這一點。

+0

即使這不起作用。在哪裏調用這個方法?從ItemsControl或ItemsPanel? –

+2

請定義「不工作」。怎麼了?什麼不發生?你期望發生什麼? –

+0

我在我的控件的ItemsPanel的Measure Override(比如我的自定義面板)中有一個斷點。我正在嘗試在ItemsControl和ItemsPanel中所說的方法。但是斷點沒有打。 –