WPF - MVVM - Cuadro de texto que se desincroniza con la propiedad viewmodel

Tengo una vista WPF con un TextBox, enlazando el campo Texto a un ViewModel con UpdateSourceTrigger configurado a PropertyChanged. En el configurador de propiedades en ViewModel, tengo una comprobación simple para evitar que el texto supere los 10 caracteres:

<TextBox Text="{Binding Name, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" />

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();

        this.DataContext = new MainViewModel();
    }
}


public string Name
{
    get { return _Name; }
    set
    {
        if (_Name != value)
        {
            if (value.Length <= 10)
            {
                _Name = value;
            }
            RaisePropertyChanged("Name");
        }
    }
}

Si el valor no está establecido, sigo aumentando RaisePropertyChanged (que simplemente activa PropertyChanged).

El problema es que cuando escribo el carácter 11 en la interfaz de usuario, no actualizo _Nombre. Enciendo PropertyChanged, puedo ver cómo se obtiene el acceso al descriptor de acceso y devuelve la cadena con solo 10 caracteres. Sin embargo, mi TextBox no refleja esto; Todavía muestra la cadena con 11 caracteres.

Además de eso, es que si en el carácter 11 cambia el texto del configurador a "ERROR" y la propiedad de activación cambia, el cuadro de texto SE ACTUALIZA para mostrar el texto modificado.

Entonces, ¿por qué es que si modifico el texto del configurador de nuevo al valor anterior, la interfaz de usuario no refleja esto?

Sé que hay formas alternativas de manejar los caracteres máximos, pero ¿por qué no funciona esto?

Respuestas a la pregunta(1)

Su respuesta a la pregunta