Итак, очевидно, это было какое-то время, но для тех, кто в моей ситуации, возможно, это поможет.В моем случае у меня был отдельный файл ресурсов XML, где я уже использовал ...
var strVal = (string)Application.Current.FindResource(key);
return strVal;
... в своем собственном вспомогательном классе для загрузки строки ресурса.Поэтому для меня самым простым решением было просто вставить вызов Replace следующим образом:
var strVal = (string)Application.Current.FindResource(key);
strVal = strVal.Replace(@"\n", Environment.NewLine);
return strVal;
Мой пример из моего StringResources.xaml позволяет мне использовать escape-символ \ n следующим образом....
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="resKeyValue1">The source field "{0}" is already mapped to the destination field "{1}".\n\n
Do you want to additionally map the source field "{0}" to the destination field "{2}"?</system:String>
...
</ResourceDictionary>