1datr
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору В проге есть 2 контрола. У них есть одинаковое зависимого свойство кастомного класса, наследующего интерфейс INotifyPropertyChanged. В программе контрол A слушает данное свойство контрола B. Само значение этого свойства меняется (все его поля. проверил), но сам момент изменения его не удается уловить обычным PropertyChangedCallback, который задается при DependencyProperty.Register. Значение меняется, а к этому колбэку не переходит управление. Код класса этого свойства: Код: public class StackerWorkData : INotifyPropertyChanged { private Int32 _X; public Int32 X { get { return _X; } set { _X = value; OnPropertyChanged("X"); } } private Int32 _Y; public Int32 Y { get { return _Y; } set { _Y = value; OnPropertyChanged("Y"); } } private Int32 _Z; public Int32 Z { get { return _Z; } set { _Z = value; OnPropertyChanged("Z"); } } private Int32 _cell; public Int32 Cell { get { return _cell; } set { _cell = value; OnPropertyChanged("Cell"); } } private StackerCommand _cmd; public StackerCommand cmd { get { return _cmd; } set { _cmd = value; OnPropertyChanged("cmd"); } } /// <summary> /// Occurs when a property value changes. /// </summary> public event PropertyChangedEventHandler PropertyChanged; /// <summary> /// Called when [property changed]. /// </summary> /// <param name="name">The name.</param> private void OnPropertyChanged(string name) { if (PropertyChanged != null)//BiopsyCore { PropertyChanged(this, new PropertyChangedEventArgs(name)); } } } | StackerControl слушает свойство WorkParams контрола StackerManBNR. Код: <my:StackerControl ... WorkParams="{Binding ElementName=stacker1_man, Path=WorkParams}"></my:StackerControl> | Свойство WorkParams изменяется, но момент изменения этого свойства, в частности когда меняются X,Y,Z не улавливается программой. |