在数据网格的组合框列中显示图像

2024-03-13

我想在数据网格中有一个组合框来显示实际图像列表,而不是文本。

我可以通过手动构建组合框来完成这项工作,但似乎无法通过绑定来完成这项工作(这大约是使用数据网格的唯一方法)。

我也尝试过一个template column,但得到了相同的结果 - 显示图像类名称的文本列表。有样本证明这一点吗?


如果您需要的话,可以嵌套任意数量的模板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>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在数据网格的组合框列中显示图像 的相关文章

随机推荐