Nir*_*eld 6 c# wpf right-to-left
我认为在处理百分号时 WPF 和从右到左输入存在问题(可能也适用于类似的符号)。
当 TextBox 是从右到左的并且文本开头没有希伯来字符时,百分号会出现在数字的错误一侧。
您可以在此视频中看到异常行为:
这是我的应用程序 XAML(如您所见,其中没有任何内容):
<Window x:Class="HebrewTextTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow">
<Grid FlowDirection="RightToLeft" Margin="10">
<TextBox Text=" 25% ????"/>
</Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)
知道是否有解决方案吗?
请注意,我对文本没有任何控制权,因为用户输入...
在文本框文本更改事件中,向文本添加从右到左的标记:
\n\n<TextBox Name="textBox1" Text=" 25% \xd7\x94\xd7\xa0\xd7\x97\xd7\x94" TextChanged="Textbox1_TextChanged"/>\n\nbool addRtlMark = false;\nprivate void Textbox1_TextChanged(object sender, TextChangedEventArgs e)\n{\n if (!addRtlMark)\n {\n addRtlMark = true;\n textBox1.Text = "\\u200f" + textBox1.Text.Replace("\\u200f", "");\n addRtlMark = false;\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |