【问题标题】:How do I bind my controls in a WPF DataGridTemplateColumn to a DataTable?如何将 WPF DataGridTemplateColumn 中的控件绑定到 DataTable?
【发布时间】:2010-10-10 21:21:20
【问题描述】:

我有一个绑定到 DataTable 的 DataGrid,我想为使用 DataGridTemplateColumn 创建自定义列,但我不确定如何引用 DataTable 单元格中的值。我在网上看到的每个示例要么绑定 DataTable 并且不更改模板,要么使用自定义对象并引用绑定对象的属性。有谁知道如何从 DataGridTemplateColumn 的控件中引用存储在 DataTable 中的值?

谢谢, 布赖恩

编辑:我现在看到可以使用数据表中列的名称作为绑定路径。不幸的是,我打算尝试动态地将模板分配给列,所以我不知道当前列的名称。是否有另一种方法可以做我想做的事情(以编程方式为 DataGrid 中的每个列或单元格分配一个模板)?

【问题讨论】:

    标签: wpf datagrid binding datatable


    【解决方案1】:

    我遇到了同样的问题,我不得不说 Microsoft 为 WPF DataGrid 提供的文档完全是垃圾。我在互联网上搜索了如何执行此操作的示例,发现 NONE 显然控制不足。

    似乎在 WPF Datagrid 上唯一起作用的是原始类型。

    我尝试做一些基本的事情,例如创建一个具有一些属性的自定义类型(例如 Person)的 DataTable。在将 DataTable 绑定到 WPF DataGrid 时,我已经尝试了我读过的所有技巧,以编程方式使用 DataGridTemplateColumn,并且所有示例都给出了政治家的答案(从而避免了真正的问题)。

    一种解决方案在设计时在 XAML 中声明 DataTemplate,这是无用的,因为 DataTable 是动态的(因此不是答案)。

    我最接近的方法是创建一个 ObservableCollection 并将其绑定到 DataGrid(同样不是真正的答案)。

    除此之外。无论我改变或尝试了多少事情,都没有任何约束力。所以我最终得到了空白控件,这很烦人。

    【讨论】:

      猜你喜欢
      • 2018-02-11
      • 2011-02-06
      • 1970-01-01
      • 1970-01-01
      • 2011-01-20
      • 2019-05-09
      • 2014-07-17
      • 1970-01-01
      • 2017-11-22
      相关资源
      最近更新 更多