Advertisement
Guest User

Example propertychanged

a guest
Aug 20th, 2012
2,328
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.92 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.ComponentModel;
  6. using System.Threading;
  7.  
  8. namespace ConsoleApplication1
  9. {
  10.     class Program
  11.     {
  12.         static void Main(string[] args)
  13.         {
  14.             var nosyClass = new NosyClass();
  15.  
  16.             var chatter = new ChattyClass();
  17.             nosyClass.AddChatter(chatter);
  18.             Console.WriteLine("chatter added");
  19.  
  20.             Thread.Sleep(1000);
  21.             chatter.SomeMember = 100;
  22.  
  23.             Console.ReadLine();
  24.         }
  25.     }
  26.  
  27.     public class ChattyClass
  28.     {
  29.         private int someMember;
  30.         public event PropertyChangedEventHandler PropertyChanged;
  31.         public int SomeMember
  32.         {
  33.             get { return this.someMember; }
  34.             set
  35.             {
  36.                 if (this.someMember != value)
  37.                 {
  38.                     someMember = value;
  39.                     OnPropertyChanged("SomeMember");
  40.                 }
  41.             }
  42.         }
  43.  
  44.         // Create the OnPropertyChanged method to raise the event
  45.         protected void OnPropertyChanged(string name)
  46.         {
  47.             PropertyChangedEventHandler handler = PropertyChanged;
  48.             if (handler != null)
  49.             {
  50.                 handler(this, new PropertyChangedEventArgs(name));
  51.             }
  52.         }
  53.  
  54.     }
  55.  
  56.     public class NosyClass
  57.     {
  58.         private List<ChattyClass> myChatters = new List<ChattyClass>();
  59.         public void AddChatter(ChattyClass chatter)
  60.         {
  61.             myChatters.Add(chatter);     //start listning to property changed events
  62.             chatter.PropertyChanged += new PropertyChangedEventHandler(chatter_PropertyChanged);
  63.         }
  64.  
  65.         private void chatter_PropertyChanged(object sender, PropertyChangedEventArgs e)
  66.         {
  67.             Console.WriteLine("A property has changed: " + e.PropertyName);
  68.         }
  69.     }
  70.    
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement