【问题标题】:WPF DataGrid: How to bind to a custom propertyWPF DataGrid:如何绑定到自定义属性
【发布时间】:2011-02-06 23:15:52
【问题描述】:

我有一个从 LINQ 生成的客户类。很多地方都在使用这个类。我可以将客户集合绑定到 DataGrid (WPF)。我想向 DataGrid 添加一个额外的列。列数据将取决于如何使用 Customer 类。以下是我尝试过的选项:

  1. 在 Customer 类中添加额外的属性。这可行,但该属性不属于此处,因为它可能取决于类的使用方式。
  2. 创建另一个派生自 Customer 的类。这不起作用,因为我们无法将 Customer 强制转换为派生类,而我从数据库中返回的就是客户列表。
  3. 创建另一个包含 Customer 的类并重新实现所有相关属性。这很难看。
  4. 为所需属性创建扩展方法。不幸的是,我们无法将 DataGrid 列绑定到扩展方法。

此时,这些选项要么不起作用,要么不理想。我会很感激任何建议。

【问题讨论】:

    标签: wpf datagrid


    【解决方案1】:

    这听起来像是视图模型的工作,所以我更喜欢选项 3,并创建一个 CustomerViewModel 包装您的 Customer 模型并添加您需要的附加属性。我假设此附加属性仅用于显示目的,这就是您不愿将其添加到 Customer 模型的原因。

    【讨论】:

      猜你喜欢
      • 2014-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-01
      • 2013-02-28
      • 2017-09-18
      • 1970-01-01
      相关资源
      最近更新 更多