TextBlock
我只是用一些文本填充!(感叹号)在最后。和 !出现在正文前面。
所以而不是
一些文字!
我懂了
!一些文字
这怎么可能?
有什么线索吗?
谢谢!
代码
TextBlock tb = new TextBlock();
tb.Text = Text;
lstItems.Children.Add(tb); // lstItems is a StackPanel
最有可能的是, 的祖先TextBlock
设置FlowDirection
为RightToLeft
。尝试将其重置为LeftToRight
:
tb.FlowDirection = FlowDirection.LeftToRight;
编辑:原因解释起来有点复杂;它与如何呈现双向文本有关。来自维基百科:
标点符号 […] 可以出现在 LTR 和 RTL 脚本中。它们被称为“弱”字符,因为它们不包含任何方向信息。所以由软件决定这些“弱”字符将被放置在哪个方向。
WPF 将您!
与文本的其余部分分开,并将其放置为遵循您的方向的流程(在这种情况下,位于右左)。