5

当我在 RichTextBox 中按“Shift + Space”键入半空格(当我用波斯语写作时)时,它只是插入空格。它正确地输入了所有其他波斯字符,但是当涉及到“Shift+Space”时,它只输入了空格。

这个字符的名称是“零宽度非连接器”,信息在这个链接中给出:http ://www.fileformat.info/info/unicode/char/200c/index.htm 。

我应该提到我通过处理 previewKewDown 事件解决了这个问题;但我想知道 RichTextBox 中的这个组合键有什么问题。

谢谢。

4

3 回答 3

1

我认为问题在于您在 Windows 中的键盘布局。Windows 的波斯语键盘布局根本不支持 ZWNJ。如果您使用 来自波斯计算社区站点的伊朗标准波斯语键盘 (ISIRI 9147)(2.0 版),它将可用。

于 2012-11-28T09:34:32.497 回答
1

我相信这个功能需要作为控件的一部分进行编程(RichTextBox 或某些继承的类),但似乎情况并非如此。

我在另一个网站上找到的一种替代方法是按下Alt + 0157 (使用启用了 NumLock 的键盘输入每个数字,一次一个),尽管这不如您覆盖previewKewDown事件的解决方案。

符号屏幕

于 2012-11-07T22:49:43.827 回答
0

我遇到了同样的问题,并通过处理PreviewKeyDown事件在代码隐藏中解决了问题。只是想补充一点,我对此事的一点研究让我认为xml:space底层Run元素的属性可能是问题的原因。在此处阅读有关如何在 XAML 中处理空格的信息。

于 2014-08-30T16:25:54.350 回答