2

DataGrid 是这样声明的

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

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

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

可能这可以更容易完成,但我有一点使用 WPF 的经验......请帮助我在列中显示图像

PS:我是WPF的新手。

4

2 回答 2

-1

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

于 2013-03-25T00:04:07.570 回答
-1

用于动态路径名绑定的 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 对象在逻辑后面开始你的代码......希望这就足够了

于 2013-03-27T10:16:35.653 回答