Я пытаюсь добавить на панель инструментов RichEditBox кнопку для переключения языков, как в MS Word.Кажется, я не могу сделать эту работу.Когда я использую клавиатуру (alt + shift), я могу без проблем переключаться между ивритом и английским, но приведенный ниже код (и многие другие варианты, которые я пробовал) не работает.Последняя закомментированная строка тоже не сработала.Просто чтобы быть ясно, нет никаких исключений, и ничто не терпит неудачу.Выбранный текст в RichTextBox меняет направление потока на RTL - но язык остается английским.Любая идея?
Спасибо, Yariv
Отредактировано : Я нашел похожую проблему ЗДЕСЬ и, кажется, автор нашел решениеего проблема, но я не понимаю решение ...
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);
}