Скажем, у меня есть два класса: AppleViewModel
и OrangeViewModel
.И у меня есть ObservableCollection<object>
из AppleViewModel
и OrangeViewModel
.
. Есть также два соответствующих представления: AppleView
и OrangeView
.
Вapp.xaml, для них есть DataTemplates:
<Application.Resources>
<DataTemplate x:Key="AppleTemplate">
<local:AppleView/>
</DataTemplate>
<DataTemplate x:Key="OrangeTemplate">
<local:OrangeView/>
</DataTemplate>
</Application.Resources>
И конвертер на всякий случай:
public class MyContentConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if(value is AppleViewModel)
return Application.Current.Resources["AppleTemplate"] as DataTemplate;
else if (value is OrangeViewModel)
return Application.Current.Resources["OrangeTemplate"] as DataTemplate;
else return null;
}
}
На него ссылаются:
<phone:PhoneApplicationPage.Resources>
<local:MyContentConverter x:Key="cConverter"/>
</phone:PhoneApplicationPage.Resources>
И это<ListBox/>
:
<ListBox ItemsSource="{Binding Fruits}" >
<ListBox.ItemTemplate>
<DataTemplate>
<ContentControl ContentTemplate="{Binding Converter={StaticResource cConverter}}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Показывает только пустой экран.Как я могу это исправить, чтобы в списке отображались разные виды яблок и апельсинов?