我有一个带标签控件的WPF窗口。制表符控件的每个tabitem都有一个以PAGE为内容的框架......就像这样:
<TabItem Name="Tab01">
<Frame Name="Tab01Frame" />
</TabItem>
MyPage Tab01Page = New MyPage()
Tab01Frame.Navigate(Tab01Page)
现在,我遇到了这个问题。 tabitem的每个页面都在窗口构造器上加载,这会导致窗口的性能瓶颈。显示需要几秒钟。
有没有办法在后台进程上加载页面?
答案 0 :(得分:2)
首先,将初始化代码移动到Loaded事件(不在构造函数中)。这将使UI看起来更具响应性。此外,使用Dispatcher对象来设置任务背景。
private delegate void DelegateTypeYouDeclare();
this.Dispatcher.BeginInvoke(new DelegateTypeYouDeclare(MethodToCall), null);
这些只是第一步。有关更好的示例,请参阅以下MSDN文章: http://msdn.microsoft.com/en-us/magazine/cc163328.aspx