Выбор шаблона данных на основе типа
Я объявил следующие типы:
public interface ITest { }
public class ClassOne : ITest { }
public class ClassTwo : ITest { }
В моей модели представления я объявляю и инициализирую следующую коллекцию:
public class ViewModel
{
public ObservableCollection<ITest> Coll { get; set; } = new ObservableCollection<ITest>
{
new ClassOne(),
new ClassTwo()
};
}
На мой взгляд, я заявляю следующееItemsControl
<ItemsControl ItemsSource="{Binding Coll}">
<ItemsControl.Resources>
<DataTemplate DataType="local:ClassOne">
<Rectangle Width="50" Height="50" Fill="Red" />
</DataTemplate>
<DataTemplate DataType="local:ClassTwo">
<Rectangle Width="50" Height="50" Fill="Blue" />
</DataTemplate>
</ItemsControl.Resources>
</ItemsControl>
То, что я ожидаю увидеть, это красный квадрат, за которым следует синий квадрат, вместо этого я вижу следующее:
Что я делаю неправильно?