C# WPF数据绑定到外部数据模型
我最近开始使用WPF开发一个应用程序,但我真的无法集中精力解决以下问题: 我有一个应用程序的域模型,它是简单的POCO对象,序列化到硬盘或从硬盘序列化。然后我有了WPF应用程序,我想将它绑定到模型的各个部分。我需要能够通知UI对基础模型的更改(例如,实现INotifyPropertyChanged),但我希望这样做不会与我的模型相互影响(阅读时不会修改模型的当前实现)。除了修改模型,我如何实现更改通知? 我想这样做的原因是我在多个项目之间共享模型,只有一个是WPF,我不想向模型中添加不必要的代码。 我想到的一件事是创建模型的“副本”(使用INotifyPropertyChanges和BindingList等),但这似乎很难维护。。。 提前谢谢C# WPF数据绑定到外部数据模型,c#,wpf,data-binding,C#,Wpf,Data Binding,我最近开始使用WPF开发一个应用程序,但我真的无法集中精力解决以下问题: 我有一个应用程序的域模型,它是简单的POCO对象,序列化到硬盘或从硬盘序列化。然后我有了WPF应用程序,我想将它绑定到模型的各个部分。我需要能够通知UI对基础模型的更改(例如,实现INotifyPropertyChanged),但我希望这样做不会与我的模型相互影响(阅读时不会修改模型的当前实现)。除了修改模型,我如何实现更改通知? 我想这样做的原因是我在多个项目之间共享模型,只有一个是WPF,我不想向模型中添加不必要的代码
Ondrej我在这里看到两种可能的解决方案:
public class CustomerViewModel : INotifyPropertyChanged
{
readonly Customer _customer;
public CustomerViewModel(Customer customer)
{
_customer = customer;
}
public string FirstName
{
get { return _customer.FirstName; }
set
{
if (value == _customer.FirstName)
return;
_customer.FirstName = value;
OnPropertyChanged("FirstName");
}
}
...
}
我有一个完美的解决方案,它包括使用反射创建一个更改缓存,并使用TypeDescriptor使适配器看起来像原始的数据绑定对象。。。除了原作者网站崩溃,他还没有把那篇文章放回去:(。我在试着看能不能让他放上去,否则我可能不得不写一篇类似的文章…我很想看看那段代码。你让他把那篇文章放回去了吗?谢谢