在通知属性更改中使用 wcf 服务中的类不起作用



我在wcf服务中定义了以下类

public class Autoturism : INotifyPropertyChanged
    {
        private int _AutoturismID;
        public int AutoturismID
        { get { return _AutoturismID; } set { _AutoturismID = value; NotifyPropertyChanged("AutoturismID"); } }
        private string _NumarAutoturism;
        public string NumarAutoturism
        { get { return _NumarAutoturism; } set { _NumarAutoturism = value; NotifyPropertyChanged("NumarAutoturism"); } }
        public bool IsDirty { get; set; }
        public event PropertyChangedEventHandler PropertyChanged;
        private void NotifyPropertyChanged(String info)
        {
            IsDirty = true;
            if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs(info));
        }

我想使用IsDirty值来检查对象是否需要保存在数据库中。

在silverlight页面中,我有以下行:

AutoCurent = new Autoturism();
AutoCurent.NumarAutoturism="13424";

我的问题是,在最后一行之后,我期望有IsDirty= true,但它仍然是false。我认为来自服务引用的auturism类不再有NotifyPropertyChanged方法。

我做错了什么?谢谢你

如果您正在使用RIA WCF服务(我必须从您的问题中假设),那么您的客户端版本的Autoturism对象将只具有服务端类的属性,而不是代码。

基本上RIA服务为客户端创建的代理对象只有相同的"形状"(但不是代码)。

要完全共享代码和数据,您需要将它们作为.shared.cs类。然后将完整的源代码复制到您的客户端项目中。

相关内容

  • 没有找到相关文章

最新更新