【发布时间】:2016-01-28 17:03:17
【问题描述】:
我有一个带有用户首选项页面的 Windows Phone 8.1 应用程序。该页面上有一个颜色选择器,该颜色选择器最初“折叠”,直到用户点击页面的一部分。当他们这样做时,XAML 大约需要 3 秒来构建颜色选择器(140 个小彩色文本块都绑定到一个列表)。用户第一次点击控件时会看到 3 秒的延迟。渲染后,第二次返回该颜色选择器(只要页面保持打开状态)是即时的。
基本上,我有一个非常复杂的 XAML 页面,其中包含成百上千个文本框,我想预先构建它,以便在我想显示它时不会有任何延迟。
有没有一种方法可以告诉 XAML 或我的代码隐藏来预先构建颜色选择器,以便在用户点击框以显示它时以及何时显示它?
我在以下位置看到了类似问题的答案: How to preload XAML at app startup? 我不明白,甚至不知道它是否适用于我。
【问题讨论】:
-
如果需要那么长时间,就为了这个。我的朋友,你在前端做了一些不好的做法。让我想知道打开应用程序本身的等待时间是多少。我强烈建议重构....但是如果您真的想要一个相对简单的解决方法(尽管 imo 很脏而不是解决方案),请将内容放在视图框中或将其移出视图而不是切换可见性以获得您的显示效果。否则,你将需要处理 measure()、arrange()、updatelayout() 等大量工作。只需我的两分钱。
标签: c# xaml windows-phone-8.1 prebuild