2012-09-04 129 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時,即使內容完全不變,整個視圖也會更新。