2011-10-21 12 views
0

動作しません。私は、オブジェクトが保存する必要があるかどうかをチェックするためにIsDirty値を使用したい使用してクラス - notifypropertychanged私は私の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)); 
     } 

データベースに格納されます。

私は次の行を持っているSilverlightページでは:

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

私の問題は、最後の行の後、私は本当のIsDirty =を持って期待していたということですが、それはまだfalseです。私は、サービス参照から来るAuoturismクラスにNotifyPropertyChangedメソッドがなくなったと考えています。

私は間違っていますか? は、あなたのサービスから、あなたは(私はあなたの問題から想定する必要があり)RIA WCFサービスを使用している場合は、Autoturismオブジェクトのクライアント側のバージョンがコードのみの性質を持っているが、ではないでしょうあなたの

+0

+1のコードと説明が豊富です:) –

答えて

0

ありがとうございましたサイドクラス。

基本的に、RIAサービスは、クライアントと同じ「シェイプ」(ただしコードではない)のプロキシオブジェクトを作成します。

コードとデータを完全に共有するには、それらを.shared.csクラスとして持つ必要があります。その後、完全なソースがクライアントプロジェクトにコピーされます。

+0

ありがとう、私はそれを恐れていました。共有クラスに関する情報を検索します – mslliviu