system.data.datarowview 绑定到 DataTable 时在 DataGrid 的每一行中

system.data.datarowview in each row of DataGrid when binding to DataTable

我正在尝试将 DataTable 绑定到 wpf 中的 DataGrid

这是我的代码:

我的模特:

private DataTable _runNumbers;
public DataTable RunNumbers
{
    set
    {
        _runNumbers = value;
    }
    get
    {
        if (_runNumbers == null) { _runNumbers = new DataTable("RunNumbers"); }
        return _runNumbers;
        }
    }


public RunNumberModel() //Constructor
{
    RunNumbers.Columns.Add(" ", typeof(string));
    RunNumbers.Columns[" "].ReadOnly = true;
    RunNumbers.Rows.Add("Test");
}

我的看法:

<DataGrid Grid.Row="1" Grid.Column="1" Width="400" HorizontalAlignment="Center" Margin="20" ItemsSource="{Binding RunNumbers.RunNumbers}" />

产生:

我似乎无法弄清楚如何显示单元格的值而不是 System.Data.DataRowView - 我在想也许我需要某种 DataTemplate 但我不确定我会怎么做设置这个。

我在网上看了很多其他帖子,都没有成功。

如果有人知道这个问题,我将不胜感激。谢谢!

如果您使用有效的列名,它应该可以工作,例如 "x":

public RunNumberModel() //Constructor
{
    RunNumbers.Columns.Add("x", typeof(string));
    RunNumbers.Columns["x"].ReadOnly = true;
    RunNumbers.Rows.Add("Test");
}