如何在WPF中使用DynamicResource打断TextBlock的文本

3
在这里,我有一个页面上的资源。
<Page.Resources>
    <sys:String x:Key="textBlock1">Hello&#xa;The world</sys:String>
</Page.Resources>

我希望通过使用DynamicResource来本地化我的应用程序,因此,我的TextBlock的Text属性引用了这个DynamicResource。
<TextBlock Text="{DynamicResource textBlock1}" Margin="105,163,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" />

我更喜欢在第一行使用“Hello”这个词,在第二行使用“世界”,因此我使用“ ”来实现,但它被视为一个空格。

如果我直接将字符串“Hello The world”分配给TextBlock.Text

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

正确地断开 IT。

那么,如何在 DynamicResource 中断开字符串?

1个回答

1
在你的String定义中加入xml:space="preserve"
<Page.Resources>
    <sys:String xml:space="preserve" x:Key="textBlock1">Hello&#xa;The world</sys:String>
</Page.Resources>

谢谢!它起作用了!但是,我还有另一个疑问。这样做,我必须在每个需要换行的资源中添加 codexml:space="preserve"code。有没有更好的方法通知每个资源保留其空格? - RambleInX
不幸的是,我认为您将不得不添加每个资源。从技术上讲,您应该能够将其应用于父级(并且它将应用于所有子级),但 XAML 抱怨不允许这样做。 - dkozl
是的,没错。谢谢! - RambleInX

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接