2010-03-02 4 views

ответ

3

Там нет встроенного в пути, чтобы сделать это. Вы можете создать свойство, прикрепленное к тексту, и привязать его к нему, как обсуждалось. here

+3

ссылаемся специфичен для WPF. RichTextBox в Silverlight не имеет на нем свойства Document. –

+0

Я хотел бы повторить комментарий Стива. –

0

Это не может быть сделано, вам необходимо вручную его обновить. Документ не является DependencyProperty.

3

Вот решение, с которым я столкнулся. Я создал собственный класс RichTextViewer и унаследовал от RichTextBox.

using System.Windows.Documents; 
using System.Windows.Markup; 
using System.Windows.Media; 

namespace System.Windows.Controls 
{ 
    public class RichTextViewer : RichTextBox 
    { 
     public const string RichTextPropertyName = "RichText"; 

     public static readonly DependencyProperty RichTextProperty = 
      DependencyProperty.Register(RichTextPropertyName, 
             typeof (string), 
             typeof (RichTextBox), 
             new PropertyMetadata(
              new PropertyChangedCallback 
               (RichTextPropertyChanged))); 

     public RichTextViewer() 
     { 
      IsReadOnly = true; 
      Background = new SolidColorBrush {Opacity = 0}; 
      BorderThickness = new Thickness(0); 
     } 

     public string RichText 
     { 
      get { return (string) GetValue(RichTextProperty); } 
      set { SetValue(RichTextProperty, value); } 
     } 

     private static void RichTextPropertyChanged(DependencyObject dependencyObject, DependencyPropertyChangedEventArgs dependencyPropertyChangedEventArgs) 
     { 
      ((RichTextBox) dependencyObject).Blocks.Add(
       XamlReader.Load((string) dependencyPropertyChangedEventArgs.NewValue) as Paragraph); 

     } 
    } 
} 
24

Они получили легкий ответ здесь:

Silverlight 4 RichTextBox Bind Data using DataContext и он работает как шарм.

<RichTextBox> 
    <Paragraph> 
    <Run Text="{Binding Path=LineFormatted}" /> 
    </Paragraph> 
</RichTextBox> 
+2

Это также отлично работает в Windows 8/8.1 XAML. Благодаря!! – dex3703

+1

Простое, но эффективное решение, Brilliant – DNKROZ

+4

Как @ dex3703 говорил, что это работает в WPF с синтаксисом: ' ' – maxp

1

Вы можете использовать InlineUIContainer класс, если вы хотите связать элемент управления XAML внутри инлайн напечатал управления

Смежные вопросы