Catel WPF - 更换屏幕时滞后

时间:2015-06-08 09:34:03

标签: wpf catel

我在我的应用程序中使用Catel,我在更改屏幕时遇到问题。

我有一个功能区导航和一个用于屏幕的ContentPresenter。当我单击功能区按钮时,我在ViewModel中更改了ActiveView属性

看起来像这样:

<ContentPresenter Margin="5 5 5 0" Content="{Binding ActiveView, Converter={StaticResource ViewModelToViewConverter}}" />

ActiveView是我的UserControl的ViewModel,用于特定视图。

问题是,每次我更换屏幕(点击功能区按钮),我都有一个滞后~100ms,这是非常恼人的。

我还尝试使用DataTemplates进行ContentPresenter,但没有提升性能。

有没有这种启动性能的方法?也许是一种预先构建视图的方法,然后只显示它? (因为现在每次单击功能区按钮时都会构建View)

当然我在发布版本上检查它(在调试时有更多的延迟):)

1 个答案:

答案 0 :(得分:0)

请检查performance considerations in the docs。一些提示:

  1. 您是否尝试过没有连接调试器?
  2. 是否有日志监听器做了很多工作?
  3. 启用Api cop以查看您未使用的功能但需要时间。然后你可以禁用它们。
  4. 可能是控件正在寻找InfoBarMessageControl(你可以简单地禁用它)。