ys, мне нужна помощь, чтобы понять, почему поле не обновляется: у меня есть два примера класса, оба производные от Observable, которые просто реализуют INotifyPropertyChanged.
public class ClassA : Observable
{
string p1;
public string Property1
{
get { return p1; }
set
{
p1 = value;
RaisePropertyChangedEvent("Property1");
}
}
ClassB p2;
public ClassB Property2
{
get { return p2; }
set
{
if (p2 != null)
p2.PropertyChanged -= OnProperty2Changed;
p2 = value;
if (p2 != null)
p2.PropertyChanged += OnProperty2Changed;
}
}
string p2r;
public string Propert2Representation
{
get { return p2r; }
set
{
p2r = value;
RaisePropertyChangedEvent("Propert2Representation");
}
}
void OnProperty2Changed(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
this.RaisePropertyChangedEvent("Property2");
this.Propert2Representation = Property2.ToString();
}
public override string ToString()
{
return "Class A";
}
}
public class ClassB : Observable
{
public int Property1 { get; set; }
public override string ToString()
{
return "Class B";
}
}
Когда я изменяю свойство в ClassB, TextBlockпривязка к Property2 не обновляется.Однако TextBlock, связанный с Property2Representation, обновляется.Что я делаю не так?
TIA.