title: How to use PropertyChangedCallBack
body: <p>I have a TextBox Binded to a dependancy property, I have implemented a PropertyChangedCallBack function, when the text changes I need to call textbox.ScrollToEnd() but I cant since the PropertChanged function need to be static, is there a way around this?</p>
  <pre><code>static FrameworkPropertyMetadata propertyMetaData = new FrameworkPropertyMetadata
  (
      &quot;MyWindow&quot;,
      FrameworkPropertyMetadataOptions.BindsTwoWayByDefault,
      new PropertyChangedCallback(TextProperty_PropertyChanged)
  );
  
  public static readonly DependencyProperty TextProperty = DependencyProperty.Register
  (
      &quot;TextProperty&quot;, 
      typeof(string), 
      typeof(OutputPanel),
      propertyMetaData
  );
  
  private void TextProperty_PropertyChanged(DependencyObject obj, DependencyPropertyChangedEventArgs e)
  {
      textbox.ScrollToEnd(); //An object reference is required for the non-static field.
  }
  
  public string Text
  {
      get 
      { 
          return this.GetValue(TextProperty) as string;
      }
      set 
      { 
          this.SetValue(TextProperty, value);
          //textbox.ScrollToEnd(); // I originally called it here but I think it should be in the property changed function. 
      }
  }
  </code></pre>