«Быстрый текст» редактирование, как в MS Word - WPF - PullRequest
0 голосов
/ 04 февраля 2010

Мне нужен специальный TextBox (может быть RichTextBox), в который мне нужно набрать много текста и предопределенных полей. Когда я ввожу специальный символ '[', мне нужно получить всплывающее окно с символом IntelliSense и пометить вставленный текст особым образом, как показано ниже. альтернативный текст http://img213.imageshack.us/img213/8324/exce.png

Поэтому, пожалуйста, предложите мне способ сделать вставляемое поле доступным для выбора, как в слове. поэтому двойной щелчок по полю может снова вызвать всплывающее окно, а удаление по выделению должно удалить все поле.

Часть intellisense работает для меня, добавив элемент управления PopUp под TextBox.

1 Ответ

2 голосов
/ 05 февраля 2010

Вы можете добавить любые элементы управления, которые вам нравятся, в середину FlowDocument, используя BlockUIContainer или InlineUIContainer?

После нажатия специального символа вы можете вставить элемент управления в документ ...

        <RichTextBox>
            <FlowDocument>
            <Paragraph>
                Some text here followed directly by a button...
                <InlineUIContainer>
                    <Button Width="20" Height="20"/>
                </InlineUIContainer>
                            </Paragraph>
            </FlowDocument>
        </RichTextBox>

Если вы замените Button своим пользовательским элементом управления для ввода специального поля (включая обработку события двойного щелчка для редактирования), тогда выделение / удаление обрабатывается RichTextBox ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...