У меня проблема с переключением отображения в приложении.Производительность Catel/WPF при переключении вида
У меня есть модуль, который предварительно созданный View и ViewModel как:
public void InitializeModule()
{
this.Presenter = ViewHelper.ConstructViewWithViewModel<TView>(typeof(TView), new TViewModel());
this.ViewModel = (TViewModel)this.Presenter.DataContext;
}
Тогда я его отображения на экране с помощью ActiveView как:
<ContentPresenter
Margin="0"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Content="{Binding ActiveView.Presenter}" />
Проблема в том, что есть промежуток между активирующим видом и показом его.
Изменение вида просто заменяет ActiveView другим предварительно созданным модулем.
Я проверил, что конструктор View и ViewModel работает только один раз. И между этими изменениями нет большой логики.
Не могли бы вы рассказать мне, что может быть причиной этого? Он выглядит очень дерьмовым, когда у меня есть лагом ~ 0,2 с при переключении на другой вид.
// Edit:
лаг существующих на каждом модуле. Это, кажется, уже на более сложный вид (т.е. с контрольной DevExpress)
Edit2: Я профилированный мое заявление и кажется, что самый длинный модуль загрузки, который содержит DevExpress планировщик имеет горячую точку в этих методов:
DevExpress.Xpf.Scheduler.Drawing.SharedSizePanel.MeasureOverrideCore()
DevExpress.Xpf.Core.DXBorder.MeasureOverride()
Есть ли способ уменьшить его?
Измененный способ отображения/свертывания различных видов работ хорошо работает. благодаря – Tomasz