【发布时间】:2011-11-19 05:26:04
【问题描述】:
我在尝试将项目添加到 WPF DataGrid 时遇到问题。我想在运行时加载一个 M x N 矩阵并将所有元素放在网格中。但是,我只找到了使用 ItemSource 属性或 Binding 列的解决方案,据我所知,它们无法应对,因为我需要创建一个预定义的类。我怎么能做到这一点?
【问题讨论】:
我在尝试将项目添加到 WPF DataGrid 时遇到问题。我想在运行时加载一个 M x N 矩阵并将所有元素放在网格中。但是,我只找到了使用 ItemSource 属性或 Binding 列的解决方案,据我所知,它们无法应对,因为我需要创建一个预定义的类。我怎么能做到这一点?
【问题讨论】:
列绑定仅在 AutoGenerateColumns 设置为 false 时使用,因此您已经以声明方式指定了所需的确切列,因此还必须指定它们从何处获取数据。 (Good tutorial here)。
您应该将数据网格的 ItemsSource 设置为 IEnumerable 对象 - 这意味着您可以使用 List、对象数组或直接 DataTable。
如果您需要完全动态地处理数据网格中的列,则将 AutoGenerateCOlumns 设置为 true,或编写一些逻辑以在适当时以编程方式创建和添加列。
【讨论】: