Вложите столько шаблонов, сколько вам нужно, если ваш ComboBox
показывает имя класса, просто установите ComboBox.ItemTemplate
, чтобы что-то сделать с вашим классом. Здесь я предполагаю, что MyImageList
состоит из ImageSource
объектов (требуются дополнительные спецификации размеров):
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding MyImageList}">
<ComboBox.ItemTemplate>
<DataTemplate>
<Image Source="{Binding}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
В качестве альтернативы вы также можете использовать DataGridComboBoxColumn
, просто используйте CellStyle
для настройки DataTemplate
, который может отображать ваши изображения:
<DataGridComboBoxColumn ItemsSource="{Binding MyImageList}">
<DataGridComboBoxColumn.CellStyle>
<Style TargetType="ComboBox">
<Setter Property="ItemTemplate">
<Setter.Value>
<DataTemplate>
<Image Source="{Binding}"/>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</DataGridComboBoxColumn.CellStyle>
</DataGridComboBoxColumn>