我只使用一些文本填充TextBlock
! (感叹号)结尾。而且!出现在文本前面。
所以而不是
一些文字!
我看到了
!一些 文本
怎么可能?
有任何线索吗?
谢谢!
CODE
TextBlock tb = new TextBlock();
tb.Text = Text;
lstItems.Children.Add(tb); // lstItems is a StackPanel
答案 0 :(得分:5)
最有可能的是,TextBlock
的祖先将其FlowDirection
设置为RightToLeft
。请尝试将其重置为LeftToRight
:
tb.FlowDirection = FlowDirection.LeftToRight;
编辑:理由有点复杂;它与bi-directional text的呈现方式有关。来自维基百科:
标点字符[...]可以出现在LTR和RTL脚本中。它们被称为“弱”字符,因为它们不包含任何方向信息。因此,由软件决定将这些“弱”字符放在哪个方向。
WPF将您的!
视为与文本的其余部分分开,并将其放置在方向的流程之后(在这种情况下,向右侧左侧)。< / p>