wpf - UserControl对象的wpf缓存

  显示原文与译文双语对照的内容
97 2

我有一个WPF应用程序,其中显示和隐藏许多UserControl对象。XAML代码看起来像这样:

<ItemsControl ItemsSource="{Binding Path=MyListOfStuff}"> 
 <Controls:MyControl Stuff="{Binding}"/>
</ItemsControl>

创建这些对象需要大量时间。分析显示'initializecomponent'对MyControl对象花费了相当长的时间。我想先创建这些对象以减少时间。我要怎么才能做到?我仍然需要xaml代码,而不想仅仅用代码替换所有的代码。

因为列表中的项目有时比视图大,所以不可能使用虚拟化,所以CanContentScroll必须是 false 。

时间:原作者:0个回答

66 4

可以以在WPF中进行UI缓存,但是我相当确定它不是你要找的。

当一个视图多次绘制时,位图缓存很有用,因这里只有一次是从缓存中复制的。

你将不得不了解shoaib的虚拟化( 请参见) 。

关于位图缓存的文章。

原作者:
...