Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.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# 数据行的WPF垂直表示_C#_Wpf - Fatal编程技术网

C# 数据行的WPF垂直表示

C# 数据行的WPF垂直表示,c#,wpf,C#,Wpf,我不知道去哪里找这个。。。我有一个viewmodel,它的底层数据行提供了模型的一部分。我希望以垂直布局将此信息显示为单个记录。我计划使用DataGrid,因为我希望用户能够在DataTable中添加/删除/重命名行,尽管只查看一条记录。不过,我不太确定如何做到这一点。下面是我期望的示例: 源数据表 ID、名称、值 1,1,1 二,二,二 在我的UI中应该有一个如下所示的表 ID | 1 名称|一 值| 1 您可以将数据行公开为字段列表: public class DataRowField

我不知道去哪里找这个。。。我有一个viewmodel,它的底层数据行提供了模型的一部分。我希望以垂直布局将此信息显示为单个记录。我计划使用DataGrid,因为我希望用户能够在DataTable中添加/删除/重命名行,尽管只查看一条记录。不过,我不太确定如何做到这一点。下面是我期望的示例:

源数据表
ID、名称、值
1,1,1
二,二,二

在我的UI中应该有一个如下所示的表


ID | 1


名称|一


值| 1



您可以将数据行公开为字段列表:

public class DataRowField
{
    public int Index { get; set; }
    public string Name { get; set; }
    public object Value { get; set; }
}


public IEnumerable<DataRowField> Fields
{
    get
    {
        return _dataRow.Table.Columns.Cast<DataColumn>()
               .Select((column, i) => new DataRowField
               {
                   Index = i,
                   Name = column.ColumnName,
                   Value = _dataRow[column]
               });
    }
}
公共类数据行字段
{
公共int索引{get;set;}
公共字符串名称{get;set;}
公共对象值{get;set;}
}
公共IEnumerable字段
{
得到
{
return _dataRow.Table.Columns.Cast()
.选择((列,i)=>新建数据行字段
{
指数=i,
Name=column.ColumnName,
值=_数据行[列]
});
}
}
然后您只需要将DataGrid绑定到
字段
属性