Как разбить текст TextBlock с помощью DynamicResource в WPF

здесь у меня есть ресурс на странице

<Page.Resources>
    <sys:String x:Key="textBlock1">Hello&#xa;The world</sys:String>
</Page.Resources>

Я хочу локализовать свое приложение с помощью DynamicResource, поэтому свойство Text моего TextBlock ссылается на этот DynamicResource

<TextBlock Text="{DynamicResource textBlock1}" Margin="105,163,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" />

Я предпочитаю слово «Hello» в первой строке и «The world» во второй строке, поэтому я использую «», но это рассматривается как пробел.

Если я присвою тексту TextBlock.Text строку «Hello The world» напрямую

<TextBlock Text="Hello&#xa;The world" Margin="105,163,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" />

он ломается правильно.

Итак, как разбить строку в DynamicResource?


person RambleInX    schedule 06.06.2015    source источник


Ответы (1)


Добавьте xml:space="preserve" в свое String определение

<Page.Resources>
    <sys:String xml:space="preserve" x:Key="textBlock1">Hello&#xa;The world</sys:String>
</Page.Resources>
person dkozl    schedule 06.06.2015
comment
Спасибо! Это сработало! Но у меня есть еще одно сомнение. Таким образом, я должен добавить codexml: space = preservecode к каждому ресурсу, который необходимо отключить. Есть ли лучший способ уведомить каждый ресурс о том, что его пространство должно быть сохранено? - person RambleInX; 06.06.2015
comment
К сожалению, я думаю, вам придется добавлять его в каждый ресурс. Технически вы должны иметь возможность применить его к родительскому элементу (и он будет применяться ко всем дочерним элементам), но XAML жалуется, что это не разрешено - person dkozl; 06.06.2015
comment
Да это оно. Спасибо! - person RambleInX; 06.06.2015