ObjectDataProvider и DataTemplate. Как-то их вместе скрестить и вынести результат работы в ContentControl.public ObservableCollection<Phone> GetCollection { get => new ObservableCollection<Phone> { this }; }<ItemsControl ItemsSource="{Binding CurrentPage.GetCollection}">
<ItemsControl.Resources>
<DataTemplate DataType="{x:Type classes:Xiaomi}"> <!-- Не забудьте подключить namespace -->
<TextBlock Text="{Binding Price}"/>
</ItemsControl.Resources>
</ItemsControl>DataTemplate для элементов.ItemsControl "смотрит" на тип элемента в ObservableCollection и подтягивает к нему шаблон данных, если он к этому типу есть.