繁体   English   中英

如何在Silverlight ComboBox中显示图像阵列?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM