3

TextBlock我只是用一些文本填充!(感叹号)在最后。和 !出现在正文前面。

所以而不是

一些文字!

我懂了

!一些文字

这怎么可能?

有什么线索吗?

谢谢!


代码

  TextBlock tb = new TextBlock();

  tb.Text = Text;

  lstItems.Children.Add(tb); // lstItems is a StackPanel
4

1 回答 1

5

最有可能的是, 的祖先TextBlock设置FlowDirectionRightToLeft。尝试将其重置为LeftToRight

tb.FlowDirection = FlowDirection.LeftToRight;

编辑:原因解释起来有点复杂;它与如何呈现双向文本有关。来自维基百科:

标点符号 […] 可以出现在 LTR 和 RTL 脚本中。它们被称为“弱”字符,因为它们不包含任何方向信息。所以由软件决定这些“弱”字符将被放置在哪个方向。

WPF 将您!与文本的其余部分分开,并将其放置为遵循您的方向的流程(在这种情况下,位于左)。

于 2012-05-29T19:53:24.363 回答