如何在Silverlight ComboBox中显示图像数组?

如何在Silverlight ComboBox中显示图像数组?,silverlight,silverlight-4.0,combobox,Silverlight,Silverlight 4.0,Combobox,我有一个带有创建图像的对象数组(Object.Image),我想在组合框中显示图像 <ComboBox x:Name="typeSelection" ItemsSource="..." DisplayMemberPath="Image"></ComboBox> Combobox显示Image.ToString(),而不是图像本身,显示如何修复它。您需要为Combobox设置ItemTemplate。像这样的。。。。 (这是用于指向图像的路径数组,而不是实际图像)

我有一个带有创建图像的对象数组(Object.Image),我想在组合框中显示图像

<ComboBox x:Name="typeSelection" ItemsSource="..." DisplayMemberPath="Image"></ComboBox>


Combobox显示Image.ToString(),而不是图像本身,显示如何修复它。

您需要为Combobox设置ItemTemplate。像这样的。。。。 (这是用于指向图像的路径数组,而不是实际图像)



是silverlight中组合框的一个很好的示例

您需要为组合框设置ItemTemplate。像这样的。。。。 (这是用于指向图像的路径数组,而不是实际图像)



是silverlight中ComboBox的一个很好的示例。ComboBox的默认实现是使用ItemSource作为项目列表的源,使用DisplayMemberPath作为TextBlock.Text值所用属性的名称。因此,它查看您的“Image”属性,并执行.ToString()将其转换为列表中的文本块

相反,您需要实现ComboBoxItem控件模板,以描述每个显示项(文本、图像等)中的元素。这些控件本身将包含对象属性的绑定。e、 g:

<Image Source={Binding Image}/>


正如Muad'Dib指出的(30秒之前),图像必须是图像路径的字符串,而不是实际的图像对象。

组合框的默认实现是使用ItemSource作为项目列表的源,使用DisplayMemberPath作为TextBlock.Text值所用属性的名称。因此,它查看您的“Image”属性,并执行.ToString()将其转换为列表中的文本块

相反,您需要实现ComboBoxItem控件模板,以描述每个显示项(文本、图像等)中的元素。这些控件本身将包含对象属性的绑定。e、 g:

<Image Source={Binding Image}/>


正如Muad'Dib指出的(30秒之前),图像必须是一个字符串,它是图像的路径,而不是实际的图像对象。

图像属性的实际类型是什么?图像属性的实际类型是什么?我将图像更改为BitmapSource,但您的答案是最接近的,所以我接受。我将图像更改为BitmapSource,但您的答案是最接近的,所以我接受。