WPF TextBox不允许使用unicode字符\ u200c

问题描述 投票:0回答:1

在空间旁边的波斯语(\ u0020)中,使用半空格或半空格字符(\ u200c)也很常见。例如:“توسعه”加上\ u200c加“یافته”将是“توسعهیافته”并且空间将是“توسعهیافته”。

这是一个空的wpf应用程序中的简单文本框,没有任何后面的代码:

<TextBox FlowDirection="RightToLeft" Width="200" Height="30"/>   

它适用于我的电脑和笔记本电脑(Windows 10)。我可以通过按Ctrl + Shift + 2轻松输入半空格(\ u200c)。但我的朋友报告他无法在文本框中输入半空格。他的系统规格和键盘布局标准与我的相同。除了我的以外,他可以在任何其他应用程序中使用半空格,并且Winform TextBox没有任何问题。只是WPF文本框!

为什么我的这个问题没有发生?

最有可能是类似的问题(但没有回答):

How to display Unicode control characters in a WPF TextBox?

我不知道发生了什么,我没有任何解决方案,除了在我的应用程序中托管Winform TextBox,但这是我的最后一个解决方案,因为我来wpf减少限制,而不是面临新的限制。请让我摆脱这个愚蠢的奇怪问题。

c# wpf unicode textbox farsi
1个回答
0
投票

尝试明确设置文化:

public partial class MainWindow
{
    public MainWindow()
    {
        var faCulture = CultureInfo.CreateSpecificCulture("fa-ir");
        this.Language = XmlLanguage.GetLanguage(faCulture.IetfLanguageTag);
        InputLanguageManager.SetInputLanguage(this, faCulture);

        InitializeComponent();
    }
© www.soinside.com 2019 - 2024. All rights reserved.