2013-06-30 3 views
1

В настоящее время я пишу WPF RichTextBox, прежде чем решиться, может ли он использоваться в моем проекте.Защита пользовательских встроенных элементов в WPF RichTextBox

Мне нужно иметь элементы текста, представляющие различные объекты (другие тексты или объекты), немного похожие на WIKI, но не совсем. Нажатие на такой текст приведет к тому, что все произойдет, например, перейти к другим текстам или предоставить дополнительные параметры.

В любом случае, поскольку эти маленькие текстовые биты представляют другие объекты, которые я бы хотел защитить, но мне это удалось только частично: пользователь не может позиционировать каретку внутри такого текстового элемента и редактировать/удалять ее, но он все еще остается можно сделать выбор и удалить/заменить его, включая мои пользовательские элементы.

Проехали ли по этой дороге с RichTextBox? Мой последний эксперимент состоял в том, чтобы просто записать все пользовательские текстовые элементы, будучи частью выбора, а затем восстановить их после (деструктивного) редактирования. Это развалилось, потому что я не могу найти способ повторно вставить мои собственные встроенные элементы (полученные из класса Run). Единственный способ, которым я нашел программную вставку элемента Run (based) в указанной позиции (TextPosition), - через свой конструктор.

Хорошо, любые подсказки были бы весьма признательны.

+0

Хотелось бы увидеть ваш код, так как я пытаюсь сделать что-то подобное. В моем случае я хочу, чтобы пользователь мог редактировать/удалять прогоны, но я хочу знать, что они сделали для конкретного запуска. – Brett

ответ

0

Вы действительно ищете FlowDocument, а не RichTextBox.

+0

Не уверен, что я понимаю. «RichTextBox.Document' _is_ a« FlowDocument »или я что-то упускаю? –

+0

@JonasRembratt. Вы используете элемент управления, который имеет возможности редактирования конечного пользователя, но затем вы хотите отключить эти возможности. Просто используйте «FlowDocumentScrollReader» или другой тип «Reader». –

Смежные вопросы