Скажем, у меня есть коллекция объектов разных классов. Каждый класс имеет свой UserControl DataTemplated в файле ресурсов.
Теперь я хочу использовать 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, потому что я получаю переполнение стека.
Как получить каждый элемент DataTemplate внутри ItemTemplate?