C# WPF:FlowDirection.RightToLeft如何更改字符串?
我有一个格式化的文本项。我将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
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 在您的示例中,编译器知道英文字母,并使用“从左到右”的方向,但对空格和数字非常着迷
这是一个类似的问题,链接到书中的好部分。我终于抽出时间阅读了这篇文章。它实际上没有说如何解决我的问题…没有真正的解决办法吗?我不明白你想要什么。若您想要反转字符串,而不是手动反转,那个么最好使用下面这样的静态函数