0
我的應用程序的視圖切換性能有問題。切換視圖時的Catel/WPF性能
我已經預先創建視圖和視圖模型就像一個模塊:
public void InitializeModule()
{
this.Presenter = ViewHelper.ConstructViewWithViewModel<TView>(typeof(TView), new TViewModel());
this.ViewModel = (TViewModel)this.Presenter.DataContext;
}
然後,我在屏幕上通過有效收視像顯示它:
<ContentPresenter
Margin="0"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Content="{Binding ActiveView.Presenter}" />
的問題是,激活視圖和顯示它之間存在滯後。
更改視圖只是將ActiveView替換爲另一個預先創建的模塊。
我檢查過,View和ViewModel的構造函數只運行一次。這些變化之間沒有很大的邏輯關係。
你能告訴我可能是什麼原因嗎?當我切換到另一個視圖時,我有一個滯後時間〜0.2秒,這看起來非常糟糕。
//編輯:
滯後存在於每一個模塊。這似乎是(即用的DevExpress控件)
EDIT2更長更復雜的觀點: 我已經異型我的應用程序,看來,最長裝載模塊,它包含的DevExpress調度具有在這些方法的熱點:
DevExpress.Xpf.Scheduler.Drawing.SharedSizePanel.MeasureOverrideCore()
DevExpress.Xpf.Core.DXBorder.MeasureOverride()
有沒有辦法減少它?
更改顯示/摺疊不同視圖的方式效果很好。謝謝 – Tomasz