ここで答えを参照してください:
文字列属性の改行
あなたの場合、あなたがする必要があることは、\ r \ nを含む文字列データをエンコードされたエンティティ、すなわちとに変換するコンバーター(IValueConverterを実装するもの)を書くことです。次に、バインディングでそのコンバーターを使用します。
public class EncodeCRLFConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
string stringtoconvert = value as string;
if (input != null))
{
// Note there are different ways to do the replacement, this is
// just a very simplistic method.
stringtoconvert = stringtoconvert.Replace( "\r", "
" );
stringtoconvert = stringtoconvert.Replace( "\n", "
" );
return stringtoconvert;
}
return null;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new Exception("The method or operation is not implemented.");
}
}
コンバーターのインスタンスをどこかに作成します...たとえば、通常は.Resources ....(この例では、TextBlockが何であるかわからないため、Windowを使用しました)。
<Window.Resources>
<EncodeCRLFConverter x:Key="strconv"/>
<Window.Resources>
<TextBlock Height="Auto" TextWrapping="Wrap" Name="Blurb" Text="{Binding Bio, Converter={StaticResource strconv}}" />