在 WPF 中更改选项卡和使用 Telerik 控件时出现性能问题

发布于 2024-12-12 21:02:35 字数 344 浏览 0 评论 0原文

我们有一个带有选项卡的 WPF 应用程序。每个选项卡都绑定到一个视图模型。

当我们使用 WPF 文本框并选择一个选项卡时,我们的 CPU 峰值为 7%,并且响应接近瞬时。

当我们使用 Telerik WPF 控件并选择一个选项卡时,CPU 峰值为 30%,响应时间为 2 秒。

其他信息:

  • 选项卡上大约有 30 个文本框
  • 我们将 Telerik 控件包装为一个控件
  • 我们在更改选项卡时重新绑定 我们
  • 在调试模式下从 Visual Studio 运行

任何人都知道为什么我们会看到如此糟糕的性能以及如何解决修复它吗?

We have a WPF application with tabs. Each tab is bound to a View model.

When we use WPF text boxes and select a tab we get a CPU spike of 7%, and the response is close to instantaneous.

When we use Telerik WPF controls and select a tab we get a CPU spike of 30% and the response time is 2 seconds.

Other info:

  • There are about 30 text boxes on a tab
  • We wrap the Telerik controls is a control
  • We Rebind when we change tab
  • We are running from Visual Studio in debug mode

Anyone have an idea of why we are seeing this poor performance and how to fix it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

美人骨 2024-12-19 21:02:35

WPF 卸载不可见的项目,其中包括当前未选择的 TabItem,因此我怀疑切换选项卡时性能受到影响是由于新选项卡上的所有项目都被重新加载。

我通常使用 TabControl 的扩展版本,当您切换选项卡时,它会阻止它卸载/重新加载其内容。找到代码 此处

WPF unload items that are not visible, which includes TabItems that are not currently selected, so I suspect the performance hit when switching tabs is due to all the items on the new tab being re-loaded.

I usually use an extended version of the TabControl which stops it from unloading/reloading it's content when you switch tabs. The code is found here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文