В проге есть 2 контрола. У них есть одинаковое зависимого свойство кастомного класса, наследующего интерфейс INotifyPropertyChanged. В программе контрол A слушает данное свойство контрола B. Само значение этого свойства меняется (все его поля. проверил), но сам момент изменения его не удается уловить обычным PropertyChangedCallback, который задается при DependencyProperty.Register. Значение меняется, а к этому колбэку не переходит управление.
Код класса этого свойства:

C# Code:
  1. public class StackerWorkData : INotifyPropertyChanged
  2.         {
  3.             private Int32 _X;
  4.             public Int32 X
  5.             {
  6.                 get
  7.                 {
  8.                     return _X;
  9.                 }
  10.                 set
  11.                 {
  12.                     _X = value;
  13.                     OnPropertyChanged("X");
  14.                 }
  15.             }
  16.  
  17.             private Int32 _Y;
  18.             public Int32 Y
  19.             {
  20.                 get
  21.                 {
  22.                     return _Y;
  23.                 }
  24.                 set
  25.                 {
  26.                     _Y = value;
  27.                     OnPropertyChanged("Y");
  28.                 }
  29.             }
  30.  
  31.  
  32.             private Int32 _Z;
  33.             public Int32 Z
  34.             {
  35.                 get
  36.                 {
  37.                     return _Z;
  38.                 }
  39.                 set
  40.                 {
  41.                     _Z = value;
  42.                     OnPropertyChanged("Z");
  43.                 }
  44.             }
  45.  
  46.             private Int32 _cell;
  47.             public Int32 Cell
  48.             {
  49.                 get
  50.                 {
  51.                     return _cell;
  52.                 }
  53.                 set
  54.                 {
  55.                     _cell = value;
  56.                     OnPropertyChanged("Cell");
  57.                 }
  58.             }
  59.  
  60.             private StackerCommand _cmd;
  61.             public StackerCommand cmd
  62.             {
  63.                 get
  64.                 {
  65.                     return _cmd;
  66.                 }
  67.                 set
  68.                 {
  69.                     _cmd = value;
  70.                     OnPropertyChanged("cmd");
  71.                 }
  72.             }
  73.  
  74.  
  75.             /// <summary>
  76.             /// Occurs when a property value changes.
  77.             /// </summary>
  78.             public event PropertyChangedEventHandler PropertyChanged;
  79.  
  80.             /// <summary>
  81.             /// Called when [property changed].
  82.             /// </summary>
  83.             /// <param name="name">The name.</param>
  84.             private void OnPropertyChanged(string name)
  85.             {
  86.                 if (PropertyChanged != null)//BiopsyCore
  87.                 {
  88.                     PropertyChanged(this, [Ссылки могут видеть только зарегистрированные пользователи. ] PropertyChangedEventArgs(name));
  89.                 }
  90.             }
  91.  
  92.  
  93.         }



StackerControl слушает свойство WorkParams контрола StackerManBNR.

Код :
<my:StackerControl  ... WorkParams="{Binding ElementName=stacker1_man, Path=WorkParams}"></my:StackerControl>

Свойство WorkParams изменяется, но момент изменения этого свойства, в частности когда меняются X,Y,Z не улавливается программой.