下面的代码实际上按照我想要的方式工作 - 这个问题有点误导。请忽略它。
通常当我像这样设置
Text
的 TextBlock
属性时:
TextBlock tb = new TextBlock();
tb.Text = " Hello World ";
不显示文本开头和结尾的空格。
TextBlock
显示的文字只是Hello World
。如何设置 TextBlock
显示它们(即不删除空格)?我是否缺少一些财产?
在这种情况下,您不需要使用
xml:space="preserve"
<TextBlock xml:space="preserve" Text=" Hello world! " />
但是会显示空格
<TextBlock> Hello world! </TextBlock>
不会。
回复:“我只是希望您不要使用它来对齐文本。还有许多其他更优雅的方法可以做到这一点。”
听起来您可能想使用 Padding 属性: http://msdn.microsoft.com/en-us/library/system.windows.controls.textblock.padding(VS.85).aspx。
另请参阅各种对齐和边距属性。
设置要在 XAML 中保留的 xml:space 属性,我假设您使用的是 WPF
<TextBlock xml:space="preserve" Text=" Hello world! " />
编辑:有时在 XAML 中执行操作会更容易。我只是希望您不要使用它来对齐文本。还有许多其他更优雅的方法可以做到这一点。
您不需要使用 Text= 属性。这也有效:
<TextBlock xml:space="preserve">Staff Contact Details <Hyperlink>Click here</Hyperlink></TextBlock>
另一个解决方案是使用“运行”,如下所示:
<TextBlock>
<Run Text=" "/>
Hello world!
</TextBlock>