Как вернуть форматированный текст из вызова метода в wpf - PullRequest
2 голосов
/ 17 октября 2011

Я разрабатываю интерфейс плагина и хотел бы иметь один метод, который возвращает форматированный текст таким образом, чтобы элемент управления WPF мог просто показать результат плагина.Каков наилучший способ вернуть этот текст?

Таким образом, мне нужно будет только присвоить результат плагина текстовому элементу управления WPF (возможно, RichTextBox или что-то в этом роде).

Iхотел бы поддерживать жирный шрифт, подчеркивание и т. д. *

РЕДАКТИРОВАТЬ: Подводя итог, я ищу в строке "формат", которые позволяют сторонним кодировщикам вернуть мне простую строку с закодированным форматом, поэтому мне просто нужноделать:

 myRichTextBox.Text = (IPlugin)3rdPartyPlugin.ExecutePlugin();

И текст кажется отформатированным.

Ответы [ 2 ]

2 голосов
/ 17 октября 2011

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

1] как текст

WPF Flowdocument и Inlines

2] В виде графически визуализированного текста ...

В переопределенном методе OnRender () любого пользовательского элемента управления вы можете графически рисовать отформатированный текст как рисунок ...

    protected override void OnRender(DrawingContext drawingContext)
    {
        this.formattedToolTip = new FormattedText(
                (string)this.TextProperty,
                System.Globalization.CultureInfo.CurrentCulture,
                FlowDirection.LeftToRight,
                new Typeface(
                     new FontFamily("Arial"),
                     FontStyles.Normal,
                     FontWeights.Bold,
                     FontStretches.Normal),
                11,
                new SolidColorBrush(Colors.Black));

        drawingContext.DrawText(
                this.formattedToolTip,
                new Point(10, 10)); //// Margin of 10 pixels from top and left.
    }
0 голосов
/ 17 октября 2011

Я бы просто пошел на String. RTF-текст можно с радостью представить в виде XML в любой кодировке, которая вам нравится IIRC.

Что-то подсказывает мне, что вы на самом деле не спрашиваете «как вернуть текст», а как его сгенерировать? Если да, пожалуйста, перефразируйте вопрос.

...