Альтернатива DataTemplate.DataType в Silverlight
У меня есть модель представления со свойствомFields
который являетсяObservableCollection<FieldVM>
, В представлении, которое использует это свойство, у меня естьItemsControl
вот так:
...
<ItemsControl ItemsSource="{Binding Fields}" />
...
FieldVM
абстрактный класс, реализуемый такими классами какTextFieldVM
а такжеEnumFieldVM
, Во время выполнения этиFieldVM
-имплементации добавляются кFields
собственности, и я хочу, чтобы они отображались в моем представлении со своими связанными взглядами.
В WPF сделать это просто, я делаю это все время. Вы просто делаете это в соответствующем словаре ресурсов, и все работает как положено:
<DataTemplate DataType="{x:Type vm:TextFieldVM}">
<v:TextFieldView />
</DataTemplate>
<DataTemplate DataType="{x:Type vm:EnumFieldVM}">
<v:EnumFieldView />
</DataTemplate>
Теперь, работая в Silverlight впервые, я ожидал, что смогу сделать то же самое, ноDataTemplate
не имеетDataType
имущество. Я в тупике. Что Silverlight-способ сделать это?