在我的应用中,我有一个全景页面,其中包含大约10个全景项目。每个全景项都有一些路径图,一个列表选择器和几个输入字段。
我面临的问题是,当我导航到这个页面时,导航很慢,因为要初始化很多内容。如果我评论
InitializeComponent();
,加载变得很快。
答案 0 :(得分:3)
来自UI Guide:
使用单色背景 或者是横跨整个图像的图像 全景。如果您决定使用 图像,任何UI图像类型 Silverlight支持的是 可以接受,但建议使用JPEG, 因为他们通常有较小的文件 尺寸比其他格式。
您可以将多个图像用作 背景,但你应该注意到 只应显示一个图像 任何给定的时间。
背景图片应介于两者之间 480 x 800像素和1024 x 800像素 (宽x高)确保良好 性能,最小加载时间,无缩放。
考虑隐藏全景部分 直到他们有内容要显示。
此外,10个PanoramaItem似乎很多,因为建议的最大值为4.您应该减少数量,或者隐藏内容直到需要它为止。请阅读MSDN上有关全景图的最佳做法指南。
答案 1 :(得分:1)
我认为您可以通过为特定全景项创建用户控件来提高页面性能,向页面添加空全景控件(仅包含标题),并且picypg建议在需要时加载这些用户控件。
另一种方法是加载第一页并将其显示给用户。在后台,您可以开始加载其他全景项目。
我建议的方法是第一个。使用延迟加载原理。
答案 2 :(得分:1)
我认为您的延迟是由于页面上的项目数量造成的。这将导致一个非常大的对象图,需要很长时间才能创建。我也期望它使用大量内存,你的填充率非常高,这会降低GPU的速度。
如果您不小心,在PanoItems上输入项目/字段可能会导致UX问题。
许多panoItem也可能导致用户潜在的导航问题。