Code Block
//We have a Main Business Object and two Child Business Objects.
public class BusinessMain : INotifyPropertyChanged
{
private BussinessObject1 obj1;
public BussinessObject1 Obj1
{
get { return obj1; }
set { obj1 = value; }
}
private BussinessObject2 obj2;
public BussinessObject2 Obj2
{
get { return obj2; }
set { obj2 = value; }
}
private string variable = "main";
public string Variable
{
get { return variable; }
set
{
if (variable != value)
{
variable = value;
PropertyChanged(this, new PropertyChangedEventArgs("variable"));
}
}
}
public BusinessMain()
{
obj1 = new BussinessObject1();
obj2 = new BussinessObject2();
obj1.PropertyChanged += new PropertyChangedEventHandler(objPropertyChanged);
obj2.PropertyChanged += new PropertyChangedEventHandler(objPropertyChanged);
}
void objPropertyChanged(object sender, PropertyChangedEventArgs e)
{
PropertyChanged(sender, e);
}
#region INotifyPropertyChanged Members
public event PropertyChangedEventHandler PropertyChanged;
#endregion
}
public class BussinessObject1 : INotifyPropertyChanged
{
private string variable = "var1";
public string Variable
{
get { return variable; }
set
{
if (variable != value)
{
variable = value;
PropertyChanged(this, new PropertyChangedEventArgs("variable"));
}
}
}
public override string ToString()
{
return variable;
}
#region INotifyPropertyChanged Members
public event PropertyChangedEventHandler PropertyChanged;
#endregion
}
public class BussinessObject2 : INotifyPropertyChanged
{
private string variable = "var2";
public string Variable
{
get { return variable; }
set
{
if (variable != value)
{
variable = value;
PropertyChanged(this, new PropertyChangedEventArgs("variable"));
}
}
}
public override string ToString()
{
return variable;
}
#region INotifyPropertyChanged Members
public event PropertyChangedEventHandler PropertyChanged;
#endregion
}