Някой знае ли как да контролира режима на вмъкване на WPF RichTextBox. Искам да принудя RichTextBox винаги да бъде в режим на презаписване, а не на вмъкване.
Как да принудите режима на вмъкване в WPF RichTextBox
Отговори (1)
За съжаление изглежда няма документиран начин това да се направи. Единственият начин, който знам, е да използвам отражение, както по-долу, но тази техника има достъп до вътрешната работа на RichTextBox. Той работи в текущите версии на WPF, но няма гаранция, че ще продължи да работи и занапред, така че го използвайте на свой собствен риск.
PropertyInfo textEditorPropertyInfo = typeof(RichTextBox).GetProperty("TextEditor", BindingFlags.NonPublic | BindingFlags.Instance);
if (textEditorPropertyInfo == null)
throw new NotSupportedException("SetOverwriteable not support on this platform");
object textEditor = textEditorPropertyInfo.GetValue(this, null);
PropertyInfo overtypeModePropertyInfo = textEditor.GetType().GetProperty("_OvertypeMode", BindingFlags.NonPublic | BindingFlags.Instance);
if (overtypeModePropertyInfo == null)
throw new NotSupportedException("SetOverwriteable not support on this platform");
overtypeModePropertyInfo.SetValue(textEditor, true, null);
Горното трябва да се случи след конструктора.
person
Kid Kaneda
schedule
23.05.2009