2012-07-02 57 views
0

我有一个大的Silverlight应用程序分为“标签”,他们每个进一步划分为子标签。下载xap文件不需要太长时间,第一个屏幕是登录。但是,登录后,应用程序的RootVisual被设置为我的“mainPage”,其中包含我所有的主标签。由于每一个都包含子选项卡,并且每个子选项卡都包含我的图形用户控件,所以当主页面加载时,我的应用程序的每个UI组件都会加载。因此,登录“冻结”约30秒,而我的主页加载我的应用程序的所有用户控件。什么是最好的方式来分裂这样的整个应用程序的用户界面不会在初始化时加载?我想不是每个控件都调用InitializeComponent(),直到它的父标签实际上被点击了?还是不加载主标签的“子标签”,直到它被点击?当然,必须有更好的方法来分解它。UI初始化在Silverlight中缓慢

+0

您是否采用过任何形式的MVVM,或许可以获得Caliburn Micro等其他支持? –

回答

0

当您使用tabcontrol Silverlight本身负责这些事情。在选择TabItem之前,它不呈现控件。确保你没有在任何控件的构造函数中写任何代码。所有代码都应该在任何cotrol的Loaded事件上进行,不管它是用户控制/自定义控件。因此,您将能够提升应用程序的性能。

让我知道你是否仍然有同样的问题。

干杯! Vinod