我有一个窗口,在那里我三次使用相同的用户控件。这是一个用户控件,需要一些时间来初始化它自己。这个窗口需要大约5-7秒的时间来初始化所有三个用户控件。我应该如何在window中添加它们?
我想从专家那里得到一些关于这个话题的建议,因为我对这个问题不太了解。
谢谢。
发布于 2014-10-20 23:49:09
将窗口内容的加载推迟到窗口显示后再加载本身并没有什么错。您可能需要的事件是ContentRendered,它告诉您窗口的句柄已经创建,并且显示了窗口。
我建议您将窗口的内容包装在一个“视图”中,比如一个UserControl,这样您只需要设置窗口的Content并完成它,而不是必须注入多个控件。这只会让事情变得更简单。本质上,使您的视图成为用户控件,并将窗口视为视图的宿主。
所有这些都不太可能减少填充窗口所需的时间,但至少可以在处理内容时显示一些内容,即使它只是一个带有等待光标的空窗口。
此外,寻找在UI上执行昂贵操作的任何地方(例如,在视图或视图模型中),并考虑用异步操作替换这些操作。您可能会发现,加载UI的速度比加载底层数据的速度更快,在这种情况下,您可以显示一个更完整的视图,其中包含适当的等待/进度指示器,直到您的数据进入。
https://stackoverflow.com/questions/26467324
复制相似问题