在WPF数据网格中将动态图像设置为"自动生成"列

本文关键字:quot 设置 自动生成 图像 动态 数据 WPF 数据网 网格 | 更新日期: 2023-09-27 18:05:40

DataGrid的声明类似于

<DataGrid x:Name="DgDirectories" 
                  AutoGenerateColumns="True" />

它是使用DgDirectories.ItemSource属性和我的DTO对象的IEnumerable动态填充的。此对象包含带有动态映像的byte[]属性(HDD上不存在(。我想在网格中显示那些图像

我曾尝试将byte[]转换为BitmapImage,并将其与数据一起传递,但无论如何,网格都会为这些类型创建DataGridTextColumn

也许这可以做得容易得多,但我有使用WPF的小经验。。。请帮助我在列中显示图像

第页。S.:我是WPF的新手。

在WPF数据网格中将动态图像设置为"自动生成"列

用于动态路径名绑定的Xaml代码

<DataGrid x:Name="dataGrid1" AutoGenerateColumns="False">
        <DataGrid.Columns>
            <DataGridTemplateColumn>
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Image Source="{Binding ImageFilePath}" />
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
        </DataGrid.Columns>
    </DataGrid>

现在,只需使用文件路径的IEnumerable列表实例化uri对象来启动代码隐藏逻辑。。。希望这足以满足

您应该删除autogeneratecolumn=true并指定要显示的列。这将使您有机会指定具有图像的列的数据模板。

相关文章: