Какая лучшая замена FlowDocument в Silverlight?

Я переношу приложение с WPF на Silverlight и был опечален до читать об отсутствии поддержки FlowDocument.

Как лучше в Silverlight отображать текст с разметкой?

Мне просто нужны основы, например.

  • смелый
  • курсив
  • гиперссылка
  • цвета
  • размеры шрифта

Добавлен:

Я имею в виду не RichTextBox (как в демонстрации Vectorlight), а способ форматировать текст на самой поверхности приложения, как я могу сделать с FlowDocument в WPF:

alt text
(источник: deviantsart.com )


person Edward Tanguay    schedule 16.03.2010    source источник
comment
смущен вашим редактированием - что на самом деле означает на самой поверхности приложения?   -  person Todd Main    schedule 17.03.2010
comment
например не в TextBox, а в TextBlock, т.е. не то, что пользователь должен редактировать, а просто, например. текст пояснения к заявке   -  person Edward Tanguay    schedule 17.03.2010
comment
здесь я только что разместил видео (Как легко выделить жирным шрифтом...), объясняющее, что я имею в виду здесь: tanguay.info/dpwpf< /а>   -  person Edward Tanguay    schedule 17.03.2010
comment
отличный способ показать, что вы имеете в виду. см. ответ ниже.   -  person Todd Main    schedule 17.03.2010
comment
Демонстрация векторного освещения показывает, что элемент управления используется в полной мере, однако вы должны отметить, что панель инструментов и т. д. не являются частью элемента управления, базовый элемент управления аналогичен текстовому полю. Этот вход можно стилизовать и установить только для чтения, поэтому можно создать контент, который выглядит идентично опубликованному вами образцу. Однако, если бы я делал это в SL4, я бы смотрел на RichTextBox, а не на бесплатный сторонний элемент.   -  person AnthonyWJones    schedule 17.03.2010


Ответы (4)


В Silverlight 3 бесплатный RichTextBox от Vectorlight может неплохо справиться с тем, что вам нужно, используя HTML. .

В Silverlight 4 у вас есть возможность использовать RichTextBox для представления вашего контента.

person AnthonyWJones    schedule 16.03.2010
comment
Обратите внимание, что RichTextArea был переименован в RichTextBox в SL4 RC. - person Timores; 16.03.2010
comment
@Timores: в бета-версии 2 есть и то, и другое, была ли RichTextArea удалена из RC (я еще не успел ее загрузить)? - person AnthonyWJones; 16.03.2010
comment
@Timores: Глядя на Документы, похоже, что да. - person AnthonyWJones; 16.03.2010
comment
Я проверяю элемент управления RichTextArea в Silverlight 4, который выглядит многообещающим: blogs.msdn.com/silverlight_sdk/archive/2009/12/03/ - person Edward Tanguay; 17.03.2010
comment
@Anthony, в описании критических изменений упоминается, что RichTextArea теперь называется RichTextBox. См. конец msdn.microsoft.com/en-us /библиотека/cc645049(VS.96).aspx - person Timores; 17.03.2010
comment
@ Эдвард, я думаю, что ответ Энтони правильный. Элемент управления RichTextBox принимает содержимое абзаца (например, FlowDocument) и может быть сделан доступным только для чтения. - person Timores; 17.03.2010

Если вы запустите что-то подобное, напишите мне, и, возможно, мы сможем вместе перенести мой «BindableFlowDocument» в мир Silverlight. ;)

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

person JerKimball    schedule 16.03.2010

В соответствии с комментариями RichTextBox SL4 RC (RichTextArea, около SL4 Beta) и с вашим примером импорта размеченного текста RichTextBox SL4 RC позволит импортировать текст в формате XAML, например string richText = MyRichContent.Xaml; на этой странице: http://timheuer.com/blog/#richtextbox. Подробности перечислены здесь: http://msdn.microsoft.com/en-us/library/system.windows.controls.richtextbox.xaml(VS.96).aspx.

person Todd Main    schedule 16.03.2010

Просто используйте RichTextBox в Silverlight 4.0.

person Stan    schedule 01.08.2010