Как создать фигуру, похожую на текстовое поле? - PullRequest
0 голосов
/ 19 марта 2010

Пожалуйста, обратитесь этот контроль http://www.charlespetzold.com/blog/2009/10/Using-Text-Outlines-in-Silverlight.html Элемент управления formattedtext - это форма, которая помогает генерировать форму текста с правильной геометрией. Я хотел бы, чтобы этот элемент управления действовал как текстовое поле с курсорами и такими функциями, как ввод с клавиатуры. Прямо сейчас я использую невидимое текстовое поле с контролем форматированного текста, чтобы действовать так. Но положение курсора всегда создает проблему, когда размер текста не равен размеру отображаемого текста как фигуры.

Может кто-нибудь показать, пожалуйста, как этого добиться.

1 Ответ

0 голосов
/ 19 марта 2010

Ну, я построил текстовое поле с подсветкой синтаксиса, используя метод, который вы описываете. На самом деле, сначала я тоже хотел все перестроить, но подумал: мне нужно создать функции каретки, кисть выделения, управлять множеством различных событий, таких как выделение мышью или клавиатурой, удаление, копирование / вырезание / вставка и т. Д. и т.д ...

Это очень много работы, и пользователи Windows используются, например, для выбора текста в текстовых полях, поэтому эту сложную реализацию нельзя оставить нереализованной. Мы должны следовать некоторым указаниям Microsoft о том, как должно выглядеть текстовое поле.

На самом деле, я думаю, что создание нового текстового поля с нуля - это не тот путь. Я предлагаю вам продолжить ваш текущий метод. Если у вас разные шрифты в одном и том же текстовом поле, используйте RichTextBox и обрабатывайте изменения шрифта как в текстовом поле, так и в отформатированном тексте.

Кроме того, хорошей идеей для реализации является рисование видимого текста только с форматированным текстом (но только если пользователь может написать несколько сотен строк текста).

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