0

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 を「強制」する方法はありますか?

少し早いですがお礼を

4

1 に答える 1

0

私の間違い。問題は、新しい ObservableCollection を作成するたびに、コンテンツがまったく変更されていなくても、ビュー全体が更新されることでした。

于 2012-09-14T07:56:57.373 に答える