Die bidirektionale Bindung in AvalonEdit funktioniert nicht

Ich habe AvalonEdit in meinem Projekt verwendet, das auf WPF und MVVM basiert. Nach dem Lesendieser Beitrag Ich habe folgende Klasse erstellt:

public class MvvmTextEditor : TextEditor, INotifyPropertyChanged
{
    public static DependencyProperty DocumentTextProperty =
        DependencyProperty.Register("DocumentText", 
                                    typeof(string), typeof(MvvmTextEditor),
        new PropertyMetadata((obj, args) =>
        {
            MvvmTextEditor target = (MvvmTextEditor)obj;
            target.DocumentText = (string)args.NewValue;
        })
    );

    public string DocumentText
    {
        get { return base.Text; }
        set { base.Text = value; }
    }

    protected override void OnTextChanged(EventArgs e)
    {
        RaisePropertyChanged("DocumentText");
        base.OnTextChanged(e);
    }

    public event PropertyChangedEventHandler PropertyChanged;
    public void RaisePropertyChanged(string info)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(info));
        }
    }
}

und verwendete die folgende XAML, um dieses Steuerelement zu verwenden:

<avalonedit:MvvmTextEditor x:Name="xmlMessage">
   <avalonedit:MvvmTextEditor.DocumentText>
      <Binding Path ="MessageXml" Mode="TwoWay" 
               UpdateSourceTrigger="PropertyChanged">
         <Binding.ValidationRules>
            <local:XMLMessageValidationRule />
          </Binding.ValidationRules>
      </Binding>
   </avalonedit:MvvmTextEditor.DocumentText>
</avalonedit:MvvmTextEditor>

aber das binden klapptOneWay und aktualisiert weder meine Zeichenfolgeeigenschaft noch die Überprüfungsregel.

Wie kann ich das Problem beheben, dass die Bindung wie erwartet funktioniert?TwoWay?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage