The spell checker language is what keyboard layout language was when the program was started.
So trying to switch. Switching does not occur:
textEditor.ContextMenu.Language = System.Windows.Markup.XmlLanguage.GetLanguage("ru-RU"); textEditor.ContextMenu.SetResourceReference(Control.LanguageProperty, "ru-RU"); public class TextEditor : RichTextBox, ITextEditorComponent, IServiceProvider, IWeakEventListener { XAML
<i:Interaction.Behaviors> <SpellCheckFor:SpellCheckBehavior /> </i:Interaction.Behaviors> SpellCheckBehavior
SpellCheckBehavior : Behavior<TextEditor> ... private TextEditor textEditor; textBox.SpellCheck.IsEnabled = true; textBox.SetResourceReference(Control.LanguageProperty, "ru-RU"); textEditor.ContextMenu.SetResourceReference(Control.LanguageProperty, "ru-RU"); textEditor.ContextMenu.Language = System.Windows.Markup.XmlLanguage.GetLanguage("ru-RU"); 