图像在数据网格上显示为文本

本文关键字:显示 文本 网格 数据 数据网 图像 | 更新日期: 2023-09-27 17:53:45

我正在使用WPF DataGrid (System.Windows.Controls.DataGrid)来显示来自数据持有人对象的列。

对于对象中的每个属性,我在DataGrid中显示一列。我使用DataGrid的ItemsSource属性绑定到List, Items.Refresh()在数据更改时更新DataGrid。

显示的列是动态的(用户从设置菜单中选择要显示的内容),所以我不能在XAML代码中添加列。

我的数据对象中的一个属性是一个图像对象:

    public Image   Status { get; set; }

但是当DataGrid只显示对象的类型时:

System.Windows.Controls.Image

有没有办法显示图像而不是类型?

编辑

DataGrid定义:

<DataGrid Name="ResultsDataGrid" />
数据定义:

private readonly List<ProductItem> _items = new List<ProductItem>();
public Main()
        {
            InitializeComponent();
            ResultsDataGrid.ItemsSource = _items;
         }

列是自动生成的

图像在数据网格上显示为文本

这是控制类吗?如果是这样,你的对象不应该包含这些,而可能只是一个URL或BitmapImage,无论哪种方式,你可能需要创建一个自定义列与数据模板绑定到相应的数据。

即:模板中包含源绑定URL或BitmapImageImage。也许您需要URL的转换器,或者它只是自己转换。