创建或加载控件而不冻结窗口

时间:2014-04-06 18:04:03

标签: c# wpf controls freeze

当浏览器打开时,在它完全加载之前,我们可以在加载其他控件时使用控件(地址栏出现,加载书签时,我们已经可以输入)。 / p>

我正在制作个人浏览器,但我不知道如何执行此操作。我想象在另一个线程中创建控件,但很快我发现那是不可能的。

在我的上一个问题(我在上面发现了上面的内容)中,我收到了一个答案,谈论属性,反射,异步/等待修饰符和可观察集合作为最接近的解决方案,我还要研究它们。在这个新问题中,我想收到其他关于如何制作的建议(允许用户在创建/加载其他窗口时使用窗口和控件)。

提前致谢。

1 个答案:

答案 0 :(得分:1)

实际上我相信加载UI部分控件的过程并不重要。

另一方面,加载后来绑定到控件的数据 问题

您无法在UI线程外部绘制控件,但您可以加载大量数据,预加载资源或在后台线程中进行计算。

虽然重型控件'数据已准备好在某些后台线程中点击UI,但UI仍然会响应。

例如,我猜Web浏览器在后台线程中对HTML进行DOM解析,并将结果实时传输到UI线程。也就是说,地址栏和其他UI组件是响应式的,因为UI线程没有压力。

相关问题