假設我有不同類別的對象的集合。每個類都有一個資源文件中的UserControl DataTemplated。在ItemsControl中的每個項目周圍包裹東西
現在我想使用ItemsControl來顯示集合,但我想要一個邊框或擴展器圍繞每個項目。
我希望是這樣工作的:
<ItemsControl ItemsSource="{Binding MyObjects}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border BorderBrush="Black" BorderThickness="3">
<ContentPresenter/>
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
但ContentPresenter似乎挑選的ItemTemplate,因爲我得到一個堆棧溢出。
如何獲取ItemTemplate中的每個Item的DataTemplate?
我認爲你需要提供您所遇到的錯誤一些細節。你的輸出窗口是否提供任何線索? – benPearce 2010-10-23 11:50:43
我有一個按鈕,將項目添加到MyObjects。點擊它後,輸出中沒有新的東西。我從WindowsBase.dll中得到System.StackOverflowException。沒有可用的源代碼,沒有反彙編來顯示我,但沒有例外本身的細節。 (「由於當前線程處於堆棧溢出狀態,因此無法評估表達式」)。 VS中的調用堆棧不會給我任何東西。但是如果我從ItemTemplate中刪除ContentPresenter,那麼對於每個項目我只會得到一個空的邊框,並且沒有堆棧溢出。 – Guge 2010-10-23 12:38:14