在其标签中获取/设置TextBlock XML Text Value

时间:2016-06-23 10:27:44

标签: c# xml wpf textblock

我可以获取并设置Text的{​​{1}}属性,但我不知道如何获得与XAML中的文本对应的文本:

TextBlock

我想添加html特殊字符/代码,这就是“text”属性无效的原因,例如:

<TextBlock x:Name="myTextBlock">This is what i want to get/set</TextBlock>

在TextBlock标记内部完美无效,但在设置属性

时无效
<TextBlock x:Name="myTextBlock">&#160;&#160;Whatever<LineBreak />More Text</TextBlock>

打破了内容,而是显示:

myTextBlock.Text = "whatever..."

1 个答案:

答案 0 :(得分:3)

首先,Text属性设置Text属性,元素内容对应于Inlines集合,可以是混合内容。 Text基本上是单个Run的缩写。

如果你想在代码中设置它们,你可以这样做,但Unicode的编码工作方式不同。如果你想在XAML中使用换行符,你可以使用Runs为字符串和LineBreak内联构建相同的结构,或者直接对换行符进行编码。

在普通的C#字符串中,您可以使用\uXXXX语法。对于,它将是"\uD83D\uDCA4"

如果您有带样式的复杂文字,则需要阅读Inlines以获取TextBlock中的所有信息。