2011-05-11 12 views

答えて

1

INotifyPropertyChangedインターフェイスを実装します。

簡単な例:

using System.ComponentModel; 

public class MyModel : INotifyPropertyChanged 
{ 
    string _myProperty; 

    public event PropertyChangedEventHandler PropertyChanged; 

    public string MyProperty 
    { 
     get { return _myProperty; } 
     set 
     { 
      _myProperty = value; 
      NotifyPropertyChanged("MyProperty"); 
     } 
    } 

    public void NotifyPropertyChanged(string info) 
    { 
     if (PropertyChanged != null) 
     { 
      PropertyChanged(this, new PropertyChangedEventArgs(info)); 
     } 
    } 
} 

あなたは...

public class Test 
{ 
    public static void Main() 
    { 
     var model = new MyModel(); 
     model.PropertyChanged += new PropertyChangedEventHandler(LogChange); 

     model.MyProperty="apples"; 
     model.MyProperty="oranges"; 
     model.MyProperty="pears"; 
    } 

    public static void LogChange(object sender, PropertyChangedEventArgs args) 
    { 
     Console.WriteLine(args.PropertyName + " has changed!"); 
     Console.WriteLine("New value: " 
        + sender.GetType().GetProperty(args.PropertyName) 
        .GetValue(sender, null)); 
    } 
} 
+0

もASP.NET MVC 2で使用することが可能である。このようにそれを使用することができます。私はEntity Frameworkを使用していません。 – Saravanan

+0

はい、しかし、あなたが使用することができます。プロパティの更新時にモデルがトリガするイベントにサブスクライブするだけです。上記の簡単な例を追加しました。 – fearofawhackplanet

+0

ありがとうございました。本当に便利でした。私はこの種の機能を実装する予定でした。 – Saravanan

関連する問題