如何在RichTextBox中键入半空格?

时间:2012-10-29 05:24:07

标签: c# wpf richtextbox

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

此字符的名称为“ZERO WIDTH NON-JOINER”,信息在此链接中提供:http://www.fileformat.info/info/unicode/char/200c/index.htm

我应该提一下,我通过处理previewKewDown事件修复了问题;但我想知道RichTextBox中这个组合键的问题是什么。

感谢。

3 个答案:

答案 0 :(得分:1)

我认为这个功能需要被编程为控件的一部分(RichTextBox或一些继承的类),但看起来情况并非如此。

我在another website找到的一个替代方法是按Alt + 0157 (使用启用了NumLock的键盘输入每个数字,一次一个),尽管这不是'与覆盖previewKewDown事件的解决方案一样好。

Symbol Screen

答案 1 :(得分:1)

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

答案 2 :(得分:0)

我遇到了同样的问题,并通过处理PreviewKeyDown事件解决了代码隐藏问题。 只是想补充一点,我对这个问题的一些研究让我觉得底层xml:space元素的Run属性可能是问题的原因。 了解如何在XAML here中处理空格。