Несмотря на то, что это старый вопрос, я только столкнулся с проблемой и решил ее не так, как было дано.Может быть, это может быть полезно для других.
Я заметил, что, хотя мои XML-файлы выглядели так:
<tag>
<subTag>content with newline.\r\nto display</subTag>
</tag>
При чтении в мой код C # строка имела двойной обратный слеш.
\\r\\n
Чтобы исправить это, я написал ValueConverter для удаления дополнительной обратной косой черты.
public class XmlStringConverter : IValueConverter
{
public object Convert(
object value,
Type targetType,
object parameter,
CultureInfo culture)
{
string valueAsString = value as string;
if (string.IsNullOrEmpty(valueAsString))
{
return value;
}
valueAsString = valueAsString.Replace("\\r\\n", "\r\n");
return valueAsString;
}
public object ConvertBack(
object value,
Type targetType,
object parameter,
CultureInfo culture)
{
throw new NotImplementedException();
}
}