【发布时间】:2011-04-08 21:28:35
【问题描述】:
我正在使用一些需要一些时间(约 3-5 秒)来渲染的第 3 方组件 - 分析后我得出的结论是,大部分时间都浪费在这些控件的 MeasureOverride 和 Render 方法中......我无法编辑这些组件的源代码。 问题是..我可以在“绘制”界面时显示一个繁忙的指示器吗?在 WPF 中可以吗?
【问题讨论】:
标签: wpf busyindicator
我正在使用一些需要一些时间(约 3-5 秒)来渲染的第 3 方组件 - 分析后我得出的结论是,大部分时间都浪费在这些控件的 MeasureOverride 和 Render 方法中......我无法编辑这些组件的源代码。 问题是..我可以在“绘制”界面时显示一个繁忙的指示器吗?在 WPF 中可以吗?
【问题讨论】:
标签: wpf busyindicator
不,你不能,好吧,不是很好。
UI 线程正忙于渲染 - 绘制繁忙指示器将需要同一线程来绘制指示器。
现在,您可以从另一个线程创建第二个窗口(可能是半透明的)并将该窗口放在冻结窗口的顶部,但这很难做到正确,您必须处理诸如用户移动之类的事情窗口(你永远不会知道窗口移动了,因为接受移动通知的线程很忙)或其他应用程序在你的两个窗口之间弹出
这也可能会干扰第一个窗口的绘制,并且通常只需要许多极端情况才能正确。
【讨论】: