Cześć, potrzebóję dodawać różne elementy do UI w trakcie działania programu. Aplikacje piszę z wykorzystniem MVVM. Znalazłem kilka podobnym rozwiązań niestety żadnego które spełnia moje wymagania - dodanie różnych kontrolek w konkretym położeniu.
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemContainerStyle>
<Style TargetType="ContentPresenter">
<Setter Property="Canvas.Left" Value="{Binding X}"/>
<Setter Property="Canvas.Top" Value="{Binding Y}"/>
</Style>
</ItemsControl.ItemContainerStyle>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Rectangle Width="{Binding Width}" Height="{Binding Height}" Fill="Black"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Taki kod widoku wraz z zastosowaniem ObservableCollection pozwala dodawać elementy w kontretnym miejscu, ale tylko jednego typu zdefiniowanego w DataTemplate. Czy jest jakiś sposób, żeby dodwać różne elementy bez tworzenia nowego* ItemsControl *dla każdego typu?