Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Silverlight中的UI初始化速度慢_C#_Silverlight_Silverlight 4.0 - Fatal编程技术网

C# Silverlight中的UI初始化速度慢

C# Silverlight中的UI初始化速度慢,c#,silverlight,silverlight-4.0,C#,Silverlight,Silverlight 4.0,我有一个大型Silverlight应用程序,它被划分为“选项卡”,每个选项卡都进一步划分为子选项卡。下载xap文件不会花费太长时间,第一个屏幕是登录。然而,登录后,应用程序的RootVisual被设置为我的“主页”,其中包含我的所有主要选项卡。由于每个子选项卡都包含子选项卡,并且每个子选项卡都包含我的图形用户控件,因此在加载主页时,基本上会加载我应用程序的每个ui组件。因此,当我的主页加载我的应用程序的所有用户控件时,登录“冻结”约30秒。什么是最好的分割方法,以便在初始化时不加载整个应用程序的

我有一个大型Silverlight应用程序,它被划分为“选项卡”,每个选项卡都进一步划分为子选项卡。下载xap文件不会花费太长时间,第一个屏幕是登录。然而,登录后,应用程序的RootVisual被设置为我的“主页”,其中包含我的所有主要选项卡。由于每个子选项卡都包含子选项卡,并且每个子选项卡都包含我的图形用户控件,因此在加载主页时,基本上会加载我应用程序的每个ui组件。因此,当我的主页加载我的应用程序的所有用户控件时,登录“冻结”约30秒。什么是最好的分割方法,以便在初始化时不加载整个应用程序的ui?我在想,在实际单击每个控件的父选项卡之前,是否不调用每个控件的InitializeComponent()?或者在单击主选项卡之前不加载其“子选项卡”?当然,一定有更好的方法来解决这个问题。

当您使用tabcontrol Silverlight时,它自己会处理这些事情。在选择TabItem之前,它不会呈现控件。确保没有在任何控件的构造函数中编写任何代码。无论是用户控件还是自定义控件,所有代码都应在任何控件的加载事件中进行,因此您将能够提高应用程序的性能

如果你还有同样的问题,请告诉我

干杯!
Vinod

您是否采用了任何形式的MVVM,以及Caliburn Micro等公司可能提供的额外支持?