【发布时间】:2012-05-10 07:46:42
【问题描述】:
我正在尝试以编程方式将List<List<string>> 绑定到DataGrid。我正在使用
这个List<List<string>> 因为DataGrid 必须有可变数量的列。
实际上,我必须将DataGrid 绑定到string[][],但它部分有用,因为需要获取此数据结构并向其中添加行,这就是我想使用List<List<string>> 的原因.
目前,我正在使用这个 sn-p 来生成列。
dgResults.Columns.Clear();
for (int i = 0; i < numColumns; i++)
{
DataGridTextColumn textColumn = new DataGridTextColumn();
textColumn.Binding = new Binding(string.Format("[{0}]", i));
dgResults.Columns.Add(textColumn);
}
我应该在textColumn.Binding 上使用什么来绑定到List<list<string>>?
【问题讨论】:
-
数据绑定系统不支持。
-
@SLaks 那你有什么推荐的呢?我应该得到
ItemsSource的内容,将它们转换为string[]并通过实例化一个包含初始数据的新string[][]来使用它来更新ItemsSource? -
我认为将 DataGrid 绑定到仅在运行时才知道属性的对象集合的最简单方法是将 DataGrid 绑定到 DataTable (msdn.microsoft.com/en-us/library/system.data.datatable.aspx)。
-
Xaml 是什么样的;内部列表显示什么?
-
我认为您将需要在绑定上使用路径。我在 GridView 上执行此操作,以将列绑定到该集合大小不同的对象集合。这是正确的做法。
标签: c# .net wpf binding datagrid