WPF: элемент управления текстовым редактором, который может переставлять абзацы путем перетаскивания (например, OneNote) - PullRequest
6 голосов
/ 25 мая 2011

Я хочу встроить текстовый редактор OneNote в мою программу, чтобы можно было легко изменять порядок абзацев с помощью перетаскивания.

enter image description here

Любой текстовый редактор (с открытым исходным кодом)контроль, который может сделать это?

Спасибо.

1 Ответ

3 голосов
/ 04 июля 2011

Капитан Очевидность здесь. Поддержка редактирования текста в WPF очень плохая, если не сказать больше. Особенно, когда вы пытаетесь сделать что-то более сложное, чем показывать несколько строк простого текста.

WPF's RichTextBox - это кусочек кр @ р. Но все же его можно расширить, чтобы достичь того, что вы хотите. Все, что вам нужно сделать, это создать список событий мыши, и каждый раз, когда вы чувствуете, что пришло время показать этот маленький значок - показывайте его в слое адорнера поверх редактора. В этом посте есть хорошие примеры, как это сделать: Richtextbox Resizing Adorner

Если вам нужен текстовый редактор WPF с открытым исходным кодом, я был бы удивлен, если бы вы могли найти что-нибудь лучше, чем AvalonEdit . Это не только великолепная архитектура, но и приятное чтение. Даже если он не поддерживает вашу функцию напрямую - он с открытым исходным кодом, и уловка рекламодателя все еще применяется.

PS: Извините, что слишком эмоциональный в этом ответе. Я видел слишком много страданий, чтобы быть спокойным, когда дело доходит до редактирования текста в WPF blush

...