无法更改RichTextBox(WPF)的输入语言

时间:2010-09-15 19:51:16

标签: wpf richtextbox

我正在尝试在我的RichEditBox工具栏中添加一个按钮来切换语言,就像在MS Word中一样。我似乎无法做到这一点。 当我使用键盘(alt + shift)时,我可以毫无问题地在希伯来语和英语之间切换,但下面的代码(以及我尝试过的许多其他选项)都无效。 最后一条注释行也没有用。 为了清楚起见,没有例外,没有任何失败。 RichTextBox中的选定文本将流方向更改为RTL - 但语言仍为英语。 有什么想法吗?

谢谢,   Yariv

已编辑:我发现了一个类似的问题HERE,似乎作者找到了解决问题的方法,但我不明白解决方案...

    private void OnChangeLanguage(object sender, RoutedEventArgs e)
    {
        RichTextBox textBox = GetTemplateChild("innerRTB") as RichTextBox;
        if (textBox == null)
            return;

        string langString = CultureInfo.CurrentCulture.IetfLanguageTag;
        XmlLanguage newXmlLanguage = XmlLanguage.GetLanguage(langString);

        TextRange selectionRange = new TextRange(textBox.Selection.Start, textBox.Selection.End);
        selectionRange.ApplyPropertyValue(FlowDocument.FlowDirectionProperty, FlowDirection.RightToLeft);
        selectionRange.ApplyPropertyValue(FlowDocument.LanguageProperty, "he-il");
        // selectionRange.ApplyPropertyValue(FlowDocument.LanguageProperty, newXmlLanguage);
    }

0 个答案:

没有答案