Espacio sin interrupciones en XAML vs.código

Esto funciona bien e inserta correctamente espacios que no se rompen en la cadena:

<TextBlock Text="Non&#160;Breaking&#160;Text&#160;Here"></TextBlock>

Pero lo que realmente necesito es reemplazar los espacios con espacios que no se rompen durante el enlace de datos. Entonces escribí un convertidor de valor simple que reemplaza espacios con "&#160;". De hecho, reemplaza los espacios con"&#160;" pero "&#160;"se muestra literalmente en lugar de mostrarse como un espacio sin interrupciones. Este es mi convertidor:

public class SpaceToNbspConverter : IValueConverter
{
    #region IValueConverter Members

    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        return value.ToString().Replace(" ", "&#160;");
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new NotImplementedException();
    }

    #endregion
}

¿Alguien sabe por qué funciona en XAML, pero no en código?

Respuestas a la pregunta(3)

Su respuesta a la pregunta