我希望能够在 C# 项目中创建数百个 winrt 控件(搜索结果控件)实例。问题是这样做需要很长时间(十分之一秒或更糟),并且必须在 UI 线程上完成,从而造成显示结果的停顿和延迟。
现在我已经通过在启动期间预缓存许多控件实例来绕过这个问题。这种方法有效,但会影响启动时间(分析显示接近启动的处理器时间的 40% 用于缓存这些控件)并创建要管理的细节,例如缓存的大小。
我认为问题在于,每次实例化控件时,冗余工作(例如重新解析 XAML)都是由底层框架完成的。也许有办法避免重复这项工作?也许我可以廉价地克隆现有控件?有人有想法吗?