私は私のWPFプログラムで予期せぬ動作を発見しました。 ItemsControlでデータを視覚化するDataTemplateがあります。
<ItemsControl ItemsSource="{Binding All}" >
<ItemsControl.ItemTemplate>
<DataTemplate>
<Result:ResultItem/>
</DataTemplate>
</ItemsControl.ItemTemplate>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WPFLibrary:MyPanel Rows="2" MinRows="4" MaxColumns="2" IsItemsHost="true" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
奇妙なことは、MyPanels MeasureOverrideが呼び出されるたびにResultItemビューが新しく作成され、その子のMeasureを呼び出すということです。
WPFにビューを再利用させる "強制"方法はありますか?
少し早いですがお礼を
回答:
回答№1は0私の間違い。問題は、新しいObservableCollectionを作成するたびに、コンテンツがまったく変更されていなくても全体のビューが更新されるということでした。