如果您只是将TextBlock中Text属性的值设置为" Example "(请注意,此字符串末尾有3个空格),TextBlock在UI中显示的只是" 示例 ".
在互联网上搜索解决方案后,我发现有一种方法可以解决这个问题:
<Border BorderThickness="1"
BorderBrush="#FFFF0202"
HorizontalAlignment="Center"
VerticalAlignment="Center">
<TextBlock x:Name="t1">
<Run Text="Example   "/>
</TextBlock>
</Border>
Run Code Online (Sandbox Code Playgroud)
上面的代码显示了使用TextBlock的Inline属性,并 在Run的Text中正确显示了空格.
但是,在我的情况下,我需要在Code-behind(或通过DataBinding)中设置TextBlock的Text属性,上面的技巧不起作用,它Example   在UI中显示.
我试图通过数据绑定设置Run的Text属性的值,我认为可以正确显示转义字符,但Run的Text属性不是依赖属性,所以我没有更好的方法来解决这个问题.
(但是我认为使用TextBlock的填充属性也是一个技巧,它应该工作.但还有更好的方法吗?)
首先,我的情况是在 UWP 应用程序中。
TextBlock有一个名为的属性SelectionHighlightColor,允许您Selection Area在选择文本时指定 的具体颜色。像这样:
XAML:
<TextBlock Text="This is a sample text" IsTextSelectionEnabled="True" SelectionHighlightColor="#FFFFE751" Foreground="Black" />
Run Code Online (Sandbox Code Playgroud)
显示为:
如果您没有注意到,所选文本的前景总是White甚至选择区域的背景是浅色的。
那么有没有什么办法可以改变TextBlock控件的Selected文本的前景呢?