[英]How to display array of images in Silverlight ComboBox?
我有创建图像(Object.Image)的对象数组,我想在组合框中显示图像。
<ComboBox x:Name="typeSelection" ItemsSource="..." DisplayMemberPath="Image"></ComboBox>
组合框显示Image.ToString(),而不是图像本身,以及如何修复它。
您需要为组合框设置ItemTemplate。 像这样的...。(这是图像的路径数组,而不是实际的图像)
<ComboBox>
<ComboBox.ItemTemplate>
<DataTemplate>
<Image Source="{Binding MySourcePath}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
这是Silverlight中组合框的一个很好的例子
ComboBox的默认实现是使用ItemSource作为项目列表的源,并使用DisplayMemberPath作为要用于TextBlock.Text值的属性的名称。 因此,它将查看您的“ Image”属性,并执行.ToString()将其转换为列表中的TextBlocks。
相反,您需要实现一个ComboBoxItem控件模板,以描述每个显示项目中的元素(文本,图像等)。 这些控件本身将包含对对象属性的绑定。 例如:
<Image Source={Binding Image}/>
正如Muad'Dib指出的(30秒之前),图像必须是作为图像路径的字符串,而不是实际的图像对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.