2012-09-04 51 views
0

我在我的WPF程序中发现了一些意外的行为。我有一个DataTemplate在一个ItemsControl中可视化我的数据。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> 

奇怪的是,ResultItem视图新创建的每一个MyPanels的MeasureOverride被调用,因此调用它的孩子的的测量时间。

有没有办法“强制”WPf重用视图?

预先感谢

回答

0

我的错误。问题在于,每次创建新的ObservableCollection时,即使内容完全不变,整个视图也会更新。