WPF的Data Binding问题
大家好,我在用WPF进行开发时,遇到一个架构方面的问题,请高手支招。我要实现如下功能:
1.调用服务器的方法取回数据在界面显示
2.用户可以编辑
3.将客户编辑的结果写回服务器。然后可以在同一界面重复2
我采用了Data binding,代码示例如下:
<TextBox x:Name="txtDetails" AcceptsReturn="True" Text="{Binding ElementName=Me, Path=EAModel.Details, Mode=TwoWay}" />
但是发现到了第3步写回服务器成功后,再回到同一界面里重复执行第2步时,如果文本框中原值为'1111',改为'2222‘,鼠标点其它控件时,文本框中的值又变回'1111’。经查,是因为在第3步时
public override Model Save(Model data) // 传入了data binding的model
{
...
data = service.Save(data); // 这句导致原来的binding失效
...
}
这是平台底层的处理方式,因为用服务方返回的对象是个new object,所以WPF的data binding就失效了。请问在保持平台底层代码不变的同时,有没有什么简单的机制能让WPF用新对象进行data binding?
--------------------编程问答-------------------- 关键在于你绑定的数据模型中的数据要从服务器获取和保存进去,就可以了。
模拟了个例子,仅供参考
补充:.NET技术 , .NET Framework