Espaço sem interrupção em XAML vs. código

Isso funciona bem e insere corretamente espaços sem quebra na string:

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

Mas o que eu realmente preciso é substituir espaços por espaços sem quebra durante a ligação de dados. Então, escrevi um conversor de valor simples que substitui espaços por "&#160;". De fato, substitui espaços por"&#160;" mas "&#160;"é exibido literalmente em vez de aparecer como um espaço ininterrupto. Este é o meu conversor:

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
}

Alguém sabe por que ele funciona em XAML, mas não no código?

questionAnswers(3)

yourAnswerToTheQuestion