私は多くのUserControlオブジェクトを表示したり非表示にするWPFアプリケーションを用意しています。 XAMLコードは次のようになります。UserControlオブジェクトのキャッシュ
<ItemsControl ItemsSource="{Binding Path=MyListOfStuff}" >
<Controls:MyControl Stuff="{Binding}"/>
</ItemsControl>
これらのオブジェクトの作成には多くの時間がかかります。プロファイリングでは、MyControlオブジェクトには「InitializeComponent」にかなりの時間がかかります。私はその時間を短縮するためにこれらのオブジェクトをあらかじめ作成したいと思っています。どうやってやるの?私はまだxamlコードが必要で、すべてを単なるコードに置き換えたくない。
リスト内の項目がビューよりも大きいことがあるため、CanContentScrollがFalseである必要があるため、仮想化を使用することはできません。
これを見てください:http://stackoverflow.com/questions/2783845/wpf-virtualizing-an-itemscontrolスクロールしていないと表示しているので仮想化があなたのケースで役立つかどうかはわかりませんが。 – Ray
CachingItemsControlの実装については、http://stackoverflow.com/questions/22218506/wpf-canvas-based-itemscontrol-with-minimum-recycled-items/22220980#comment33743843_22220980をご覧ください。 –