我正在开发基于MVVM的WPF应用程序 . 我想将一个字符串列表绑定到列 Headers ,即 . 如果列表包含"abc","xyz","pqr",那么我的 DataGrid
应该有三个 Headers 为abc,xyz,pqr的列 . 这是我绑定数据网格的类 . 这些行存储在 ObservableCollection<List<string>>
中,其中 ObservableCollection
的每个元素都是一个字符串列表,它构成了行的单元格 .
public class Resource
{
private ObservableCollection<string> columns;
public ObservableCollection<string> Columns
{
get
{
return columns;
}
set
{
columns = value;
}
}
private ObservableCollection<List<string>> row;
public ObservableCollection<List<string>> Row
{
get
{
return row;
}
set
{
row = value;
}
}
public Resource()
{
List<string> a = new List<string>();
a.Add("1");
a.Add("2");
List<string> b = new List<string>();
b.Add("11");
b.Add("21");
Row = new ObservableCollection<List<string>>();
Row.Add(a);
Row.Add(b);
Columns = new ObservableCollection<string>();
Columns.Add("Hello");
Columns.Add("World");
}
}
我已经搜索了很多网,但找不到任何有效的例子 . 我真的需要通过这种方法绑定 DataGrid
.
1 回答
您可以通过以下两种方式之一使用DataGrid:
1)将DataGrid的ItemsSource绑定到Expose 3属性abc,xyz,pqr的元素集合 .
CS:
XAML:
2)创建一个DataTable对象并将其绑定到ItemsSource .