C# WPF:FlowDirection.RightToLeft如何更改字符串?

C# WPF:FlowDirection.RightToLeft如何更改字符串?,c#,wpf,xaml,direction,C#,Wpf,Xaml,Direction,我有一个格式化的文本项。我将flowdirection设置为RightToLeft,我不确定它是如何工作的。它改变了我的弦,真的很不协调 我想象它只需要一个字符串,并将其向后显示(通过字符或单词),但在测试中,它会做更多的事情 ================================================== 例如 the string "90%", is displayed as "%90" 为什么%符号从头到尾都是 the string "12 34 56 this is

我有一个格式化的文本项。我将flowdirection设置为RightToLeft,我不确定它是如何工作的。它改变了我的弦,真的很不协调

我想象它只需要一个字符串,并将其向后显示(通过字符或单词),但在测试中,它会做更多的事情

==================================================

例如

the string "90%", is displayed as "%90"
为什么%符号从头到尾都是

the string "12 34 56 this is my (string)" 
is displayed as "(this is my (string 56 34 12"
为什么数字到了末尾,一个括号到了开头,然后改变了方向

the string "this is a string"
is displayed as "this is a string"
为什么在这种情况下什么都没有发生

==================================================

我的格式化文本如下所示:

FormattedText sectionNum = new FormattedText(
   sectNum,
   CultureInfo.CurrentCulture,
   FlowDirection.RightToLeft,
   new Typeface("Verdana"),
   14,
   Brushes.Black);
context.DrawText(sectionNum, new Point(790 - 96, 20));
有人知道发生了什么吗?我需要能够显示每个字符串,这样当设置为RightToLeft时,它的读数与LeftToRight相同


谢谢

TextInfo有自己的FlowDirection,它覆盖WPF FlowDirection

所以,如果你输入阿拉伯语或希伯来语,它会自动使用“从右到左”的方向。但如果你使用“;”,“(空格)符号,就会出现问题。编译器认为它可以在两个方向上运行,并且可以在阿拉伯语中将其设置为“从左到右”,所以在这里您应该使用自定义Wpf FlowDirection

在您的示例中,编译器知道英文字母,并使用“从左到右”的方向,但对空格和数字非常着迷


这是一个类似的问题,链接到书中的好部分。

我终于抽出时间阅读了这篇文章。它实际上没有说如何解决我的问题…没有真正的解决办法吗?我不明白你想要什么。若您想要反转字符串,而不是手动反转,那个么最好使用下面这样的静态函数