У меня имеется ItemsControl
<ItemsControl ItemsSource="{Binding ItemsCollection}"> <!-- если общий источник данных -->
<ItemsControl.Resources>
<DataTemplate DataType="{x:Type local:ViewModel_1}">
<!--1-ый контрол -->
</DataTemplate>
<DataTemplate DataType="{x:Type local:ViewModel_2}">
<!--2-ой контрол -->
</DataTemplate>
<DataTemplate DataType="{x:Type local:ViewModel_3}">
<!--3-ий контрол -->
</DataTemplate>
</ItemsControl.Resources>
</ItemsControl>
MainViewModel которая должна хранить коллекцию контролов
class MainViewModel : ViewModel
{
public ObservableCollection<ViewModel_1> ItemsCollection_1 { get; set; }
public ObservableCollection<ViewModel_2> ItemsCollection_2 { get; set; }
public ObservableCollection<ViewModel_3> ItemsCollection_3 { get; set; }
public MainViewModel()
{
ItemsCollection_1 = new ObservableCollection<ViewModel_1>();
ItemsCollection_2 = new ObservableCollection<ViewModel_2>();
ItemsCollection_3 = new ObservableCollection<ViewModel_3>();
}
}
Как сделать, чтобы 3 разные ViewModel можно было хранить в одной коллекции, или привязать к ItemsControl 3 источника данных