Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 图像在DataGrid上显示为文本_C#_Wpf_Wpfdatagrid - Fatal编程技术网

C# 图像在DataGrid上显示为文本

C# 图像在DataGrid上显示为文本,c#,wpf,wpfdatagrid,C#,Wpf,Wpfdatagrid,我正在使用WPF DataGrid(System.Windows.Controls.DataGrid)来显示数据持有者对象中的列 对于对象中的每个属性,我在DataGrid中显示一列。 我正在使用DataGrid的ItemsSource属性绑定到一个列表,Items.Refresh(),以便在数据更改时更新DataGrid 显示的列是动态的(用户从设置菜单中选择要显示的内容),因此我无法在XAML代码中添加列 “我的数据对象”中的一个属性是图像对象: public Image Sta

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

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

显示的列是动态的(用户从设置菜单中选择要显示的内容),因此我无法在XAML代码中添加列

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

    public Image   Status { get; set; }
但当DataGrid仅显示对象的类型时:

System.Windows.Controls.Image

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

编辑

数据网格定义:

<DataGrid Name="ResultsDataGrid" />
private readonly List<ProductItem> _items = new List<ProductItem>();

public Main()
        {
            InitializeComponent();
            ResultsDataGrid.ItemsSource = _items;
         }

数据定义:

<DataGrid Name="ResultsDataGrid" />
private readonly List<ProductItem> _items = new List<ProductItem>();

public Main()
        {
            InitializeComponent();
            ResultsDataGrid.ItemsSource = _items;
         }
private readonly List_items=new List();
公用干管()
{
初始化组件();
ResultsDataGrid.ItemsSource=\u项;
}

列是自动生成的。

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


即:模板包含一个
图像
,其源绑定到URL或
位图图像
。可能您需要一个URL转换器,或者它只是自己进行转换。

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


即:模板包含一个
图像
,其源绑定到URL或
位图图像
。也许你需要一个URL转换器,或者它自己转换。

我将它改为
BitmapImage
,现在它显示图像
Uri
。我明确地说你需要自己的列(
DataGridTemplateColumn
或自定义子类)使用能够正确处理此问题的数据模板。我将其更改为
BitmapImage
,现在它显示图像
Uri
。我明确表示,您需要使用能够正确处理此问题的数据模板来创建自己的列(
DataGridTemplateColumn
或自定义子类)。如何动态添加列?我想当DataGridTemplateColumn是图像时,您可能需要添加DataGridTemplateColumn而不是DataGridTextColumn。@alex10我正在使用
可见性
属性来显示所需的列。可见性?那么您已经创建了列了吗?正如H.B所说,您需要
DataGridTemplateColumn
。也许您应该将代码粘贴到如何添加列上。@alex10我不是自己创建列的。我正在使用
ResultsDataGrid.ItemsSource=\u items
。_项是一个
列表
。显示更多代码。我很困惑…..如何动态添加列?我想当DataGridTemplateColumn是图像时,您可能需要添加DataGridTemplateColumn而不是DataGridTextColumn。@alex10我正在使用
可见性
属性来显示所需的列。可见性?那么您已经创建了列了吗?正如H.B所说,您需要
DataGridTemplateColumn
。也许您应该将代码粘贴到如何添加列上。@alex10我不是自己创建列的。我正在使用
ResultsDataGrid.ItemsSource=\u items
。_项是一个
列表
。显示更多代码。我很困惑。。。。。