我有很多 WPF 窗口。我在它们上面写了一些代码,它绑定(bind)了 UI 控件和数据,如下所示:
public class AddressWindow
{
public string AddressID { get; set; }
public string Addr1 { get; set; }
public string Addr2 { get; set; }
public string ZIP { get; set; }
public string City { get; set; }
public string Mobile { get; set; }
public string FAX { get; set; }
public string Country { get; set; }
public string Email { get; set; }
public string Phone { get; set; }
public bool IsSystem { get; set; }
public bool Enabled { get; set; }
}
private void BindInCode()
{
var address = new AddressWindow
{
// AddressID = "110",
// Addr1 = "Kaunas",
// Addr2 = "Jonavos",
// ZIP = "8987",
// City = "miestas",
// Mobile = "869985868",
// FAX = "87998",
// Country = "Lithuania",
// Email = "emailas@ree.lt",
// Phone = "37598288",
// IsSystem = true,
// Enabled = false
};
Binding binding = new Binding();
binding.Source = address;
binding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
binding.Path = new PropertyPath("AddressID");
this.db_AddressID.SetBinding(TextEdit.TextProperty, binding);
binding = new Binding();
binding.Source = address;
binding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
binding.Path = new PropertyPath("Addr1");
this.db_Addr1.SetBinding(TextEdit.TextProperty, binding);
...............
}
现在我想创建一些通用的简单引擎来填充数据值(将值从 DataTable 分配给我的类属性)。有谁知道如何做到这一点..?例如,有一些方法可以通过属性名称来分配值。假设我的属性名称等于 dataRow 中的列名称。是否可以在 wpf 中执行类似的操作,或者是否应该手动在每个窗口中分配值?
最佳答案
我个人求助于代码生成来完成这项工作,但您可以使用 Jimmy Bogard 的 AutoMapper ,这与您所说的差不多。它在 CodePlex和 GoogleCode .
关于WPF 数据绑定(bind)和 SQL DataTable 中的数据 - 需要一些想法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1824769/