XML-редактор Silverlight / подсветка синтаксиса

Я ищу Элемент управления текстового редактора Silverlight, который предоставляет Подсветка синтаксиса XML. Я нашел несколько ответов в Winforms или WPF, например здесь, в Stackoverflow, но мне не удалось преобразовать их в Silverlight. Тот факт, что в Silverlight отсутствует System.Drawing, вероятно, является большой проблемой.

Единственный текстовый редактор, который я нашел для Silverlight, - это RichTextEdit на Codeplex, но я не думаю, что это подходящая основа для подсветки синтаксиса в реальном времени.

Кто-нибудь слышал о таком элементе управления или может подсказать, как его создать? Большое спасибо,

Ромен

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
8
0
8 186
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Я подумал, что это интересный вопрос, но у тебя нет ответа.

Я не знаю о существующем контроле.

Я создал элемент управления для редактирования XHTML, но он тоже использует System.Drawing, а не WPF (и, следовательно, не для Silverlight).

WPF, вероятно, не менее эффективен, чем System.Drawing, но я этого не знаю.

Подсказки о том, как я это построил:

  • Определите DOM (вам может подойти стандартный System.Xml.XmlDocument)
  • Анализируйте документ для создания экземпляра DOM
  • Определите пользовательский элемент управления (с полосами прокрутки)
  • Передайте экземпляр DOM пользовательскому элементу управления
  • В методе рисования элемента управления нарисуйте видимую часть модели DOM.
  • Реализовать поддержку нажатия мыши и клавиш

Если вам действительно нужны подсказки о том, как его построить, спросите что-нибудь более конкретное.

Привет и спасибо за ответ!

К сожалению, хотя WPF имеет возможности рисования, Silverlight запускает очень ограниченный набор CLR. Раскрашивание пользовательского элемента управления выглядит довольно сложной задачей.

Однако это было сделано раньше с этим Редактор форматированного текста для Silverlight. Я посмотрю, удастся ли мне использовать аналогичные методы для визуализации XML-документа.

Один вопрос: достаточно ли быстр пользовательский элемент управления, чтобы визуализировать DOM на лету, когда пользователь вносит изменения?

Ответ принят как подходящий

Наконец-то я нашел тот контроль, который искал! SL2TextBoxWsSynParser

Обновлено: этот элемент управления, похоже, больше не обновляется, но появился новый элемент управления подсветкой синтаксиса:

Он доступен здесь и используется на веб-сайте CoderProof.

Обновленную версию можно найти здесь: vladhorby.com/blog/post/2010/11/01/…. Теперь он поддерживает различные языки (C#, VB.NET, XML и т. д.)

vladhorby 02.11.2010 19:31

Actipro Software имеет компонент подсветки синтаксиса для Winforms, WPF и Silverlight:

http://www.actiprosoftware.com/

Другие вопросы по теме