长wpf界面绘制操作期间的忙指示

时间:2010-09-06 18:43:10

标签: wpf busyindicator

我正在使用一些需要一些时间(~3-5秒)渲染的第三方组件 - 在分析之后我得出结论,大部分时间浪费在这些控件的MeasureOverride和Render方法中......我无法编辑这些组件的源代码。 问题是..我可以在界面“绘制”时显示忙碌指示符吗?在WPF中可以吗?

1 个答案:

答案 0 :(得分:1)

不,你不能,好吧,不是很好。

UI线程忙于呈现 - 绘制忙指示符需要相同的线程来绘制指示符。

现在,您可以从另一个线程创建第二个窗口(可能是半透明的)并将该窗口放在冻结窗口的顶部,但这很难做到正确,您必须处理用户移动的事情窗口(你永远不会知道窗口移动了,因为接受移动通知的线程很忙)或者在你的两个窗口之间弹出的其他应用程序

此外,这可能会干扰第一个窗口绘图,并且通常只需要很多极端情况就可以了。