在波斯语中,在空格(\ u0020)旁边,也经常使用半角或半角字符(\ u200c)。例如:“توسعه”加\ u200c加上“یافته”将是“ توسعهیافته”,带空格将是“توسعهیافته”。
这是一个空的wpf应用程序中的简单文本框,没有任何后台代码:
<TextBox FlowDirection="RightToLeft" Width="200" Height="30"/>
它在我的PC和笔记本电脑(两个Windows 10)中都可以正常工作。我可以通过按Ctrl + Shift + 2轻松键入半角空格(\ u200c)。但是我的朋友报告说他不能在文本框中输入半角空格。他的系统规格和键盘布局标准与我的相同。他可以在除我的应用程序之外的任何其他应用程序中使用半角空格,并且Winform TextBox没有任何问题。只是WPF文本框!
为什么这个问题对我来说没有发生?
最可能类似的问题(但没有答案):
我不知道发生了什么,除了在我的应用程序中托管Winform TextBox之外,我没有任何解决方案,但这是我的最后一个解决方案,因为我开始使用wpf来减少限制,而不是面对新的限制。请让我摆脱这个愚蠢的奇怪问题。
答案 0 :(得分:0)
尝试明确设置区域性:
public partial class MainWindow
{
public MainWindow()
{
var faCulture = CultureInfo.CreateSpecificCulture("fa-ir");
this.Language = XmlLanguage.GetLanguage(faCulture.IetfLanguageTag);
InputLanguageManager.SetInputLanguage(this, faCulture);
InitializeComponent();
}