我对WCF实现相当新,我在使用一些数据绑定时遇到了困难。也就是说,我的silverlight应用程序中有2个单选按钮(属性绑定到我的一个数据协定中的属性)。我还有一个蒙版文本框,根据所选的单选按钮进行更改。 “Masked Textbox”的文本绑定到WCF的数据协定的另一个属性。
我的思维过程是在数据协定上实现“INotifyPropertyChanged”接口,并使用“OnPropertyChanged”事件触发蒙版文本框,根据所选的单选按钮更改其“掩码”。好吧,这还没有成功,因为我无法从WCF中正常运行OnPropertyChanged事件。
你们对这个充满希望的微不足道的问题有什么变通方法吗?
非常感谢你, - 汤姆
答案 0 :(得分:2)
您的短语“我无法从WCF中正常运行OnPropertyChanged事件。”触发了一些警告。
是在客户端还是服务器上修改数据?
您必须了解,如果WCF服务将对象返回给客户端,则客户端具有此对象的副本,而不是引用。客户端将不会收到服务器的对象副本引发的任何事件。
如果您希望服务器触发数据通知并由客户端接收,则必须使用双工(双向)绑定来实现此操作。您无法使用.NET事件实现服务器到客户端通知(至少不适用于分布式通信部分)。
答案 1 :(得分:1)
我通过在客户端创建一个包装类(扩展了WCF的数据协定)得到了我所需要的东西。然后我在这个包装类上实现了INotifyPropertyChanged接口。它可能不是最漂亮的解决方法,但它完成了工作。