title: WPF: Binding Customized ListBox & List<T>: PropertyChanged is always null
body: <p>i have customized ListBox declared in XAML:</p>
  
  <pre><code>&lt;ListBox x:Name="uicMDSQonfServer"&gt;
    &lt;ListBox.ItemTemplate&gt;
      &lt;DataTemplate&gt;
        &lt;StackPanel Orientation="Horizontal"
                    Margin="0,5,0,5"&gt;
          &lt;CheckBox IsChecked="{Binding RelativeSource={TemplatedParent},
                                        Path=Activated}" /&gt;
          &lt;ContentPresenter Content="{Binding RelativeSource={TemplatedParent},
                                      Path=Content}"/&gt;
        &lt;/StackPanel&gt;
      &lt;/DataTemplate&gt;
    &lt;/ListBox.ItemTemplate&gt;
  &lt;/ListBox&gt;
  </code></pre>
  
  <p>I need to dsiplay and interop with generic List, where T is:</p>
  
  <pre><code>public class QonfServer: QonfBase, INotifyPropertyChanged
  {
          private string ip;
          private bool activated;
  
          public string Ip {
              get { return ip; }
          }
  
          public bool Activated
          {
              get { return activated; }
              set
              {
                  if (activated == value)
                      return;
  
                  activated = value;
                  if (PropertyChanged != null)
                      PropertyChanged(this, new PropertyChangedEventArgs("Activated"));
              }
          }
  
          #region INotifyPropertyChanged Members
          public event PropertyChangedEventHandler PropertyChanged;
          #endregion
      }
  </code></pre>
  
  <p>QonfBase is pretty simple Base class:</p>
  
  <pre><code>public class QonfBase
  {
          private int id;
          public  int ID { get; set; }
  }
  </code></pre>
  
  <p>When i turn Activated property programmatically, checkbox do not change state. Debug: PropertyChanged = null. Anybody know, what is incorrect?</p>