他の 2 つのオブジェクトを含むクラスがあります。
要素にバインドされた最初のオブジェクトの変数、WPF
それを呼び出しますX
。
他のオブジェクトの同様の変数。
PropertyChanged イベントが発生したときに、2 番目のオブジェクトの変数が変更されるようにしたいと考えています。
これが私にとってはうまくいかないコードです:
変数を含むクラス: (プロパティ変更イベントに登録しました)
private Class1 _var1;
public Class1 Var1
{
get { return _var1; }
set
{
_var1= value;
if (_var1!= null)
_var1.PropertyChanged += new PropertyChangedEventHandler(_var1_PropertyChanged);
else
_var1.PropertyChanged -= new PropertyChangedEventHandler(_var1_PropertyChanged);
}
}
void _var1_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
if(e.PropertyName=="X")
Var2.X= Var1.X;
}
private Class2 _var2;
public Class2 Var2
{
get { return _var2; }
set { _var2= value; }
}
クラス 1:
private int _x;
public int X
{
get { return _x; }
set
{
if (_x!= value)
{
_x= value;
NotifyPropertyChanged("X");
}
}
}
クラス 2:
public int X { get; set; }
PropertyChanged
彼はクラス 1 で働いていますが、2 つの変数を含むクラスで作成したイベントに来ませんでした。なぜですか?