在调整ItemsControl的大小时重新评估DataTemplate

时间:2012-09-04 09:50:14

标签: wpf datatemplate itemscontrol

我在WPF程序中发现了一些意外行为。我有一个DataTemplate来显示ItemsControl中的数据。

 <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 :(得分:0)

我的错误。问题是,每次创建新的ObservableCollection时,即使内容根本没有更改,整个视图也会更新。