This works fine, and correctly inserts non-breaking spaces into the string:
<TextBlock Text="Non Breaking Text Here"></TextBlock>
But what I really need is to replace spaces with non-breaking spaces during data binding. So I wrote a simple value converter that replaces spaces with " 
". It does indeed replace spaces with " 
" but " 
" is displayed literally instead of showing as a non-breaking space. This is my converter:
public class SpaceToNbspConverter : IValueConverter
{
#region IValueConverter Members
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return value.ToString().Replace(" ", " ");
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
#endregion
}
Does anybody know why it works in XAML, but not in code?
Have you tried return value.ToString().Replace(' ', System.Convert.ToChar(160));
?