2010-05-18 58 views
0

我想知道是否有可能将网格列(字段)绑定到实体的方法或函数?WPF DataGrid实体框架:是否可以将DataGrid列绑定到方法/函数?

例如,我有两个实体Person和Company,它们都继承了抽象实体Addressee。在我的网格中,我列出了所有收件人(包括个人和公司)。我想在绑定到函数GetName()的datagrid中有一列Name。此功能是实体收件人的一部分,并基于收件人的类型,它返回CompanyName(如果是公司)或FirstName +''+ LastName(如果有人)。

我也尝试添加一个部分类的接收器与一个属性名称作为功能相同的东西描述,但是当我保存到数据库因为列名不存在于数据库中而失败。

任何人都可以帮我吗? :-)

回答

1

这就是如何ViewModel出生。你不应该根据你的视图改变你的模型。相反,创建一个类,将

  • 揭露了由视图
  • 持有其他衍生属性所需型号的财产。

public class AddresseeViewModel 
{  
    private readonly Addressee addressee; //Your Model 
    public string FirstName //Your FirstName Property 
    { 
     get 
     { 
      return addressee.FirstName; 
     } 
     set 
     { 
      addressee.FirstName = value; 
      OnPropertyChanged("FirstName"); 
     } 
    } 
    public string Name 
    { 
     // Add your Name Property Logic 
    } 
} 
+0

你知道如何与POCO对象的n层应用程序中使用呢? – seddler 2010-05-18 12:14:27