2016-01-12 1 views
1

Я пытаюсь установить текст в RichTextBlock в универсальное приложение, это мой код в XAML:Набор текста на RichTextBlock в коде позади

<RichTextBlock x:Name="descr"> 
     <Paragraph> 
      <Paragraph.Inlines> 
       <Run Text="{Binding Path=desc}"/> 
      </Paragraph.Inlines> 
     </Paragraph> 
</RichTextBlock> 

, но я не знаю, как установить текст в этом RichTextBlock в коде позади, это моя попытка:

Paragraph p = new Paragraph(); 
    p.Inlines.Add("test");//error here cannot convert from 'string' to 'Windows.UI.Xaml.Documents.Inline' 
    descr.Blocks.Add(p); 

так как я могу установить текст в RichTextBlock в коде позади C# спасибо за помощь

+1

Если вы уже определили привязку, почему бы не использовать ее? – Romasz

ответ

5

свойство встраивает является InlineCollection, который представляет собой набор объектов Inline, в то время как вы пытаетесь добавить строку в эту коллекцию.

MSDN для встроенного

Предоставляет базовый класс для встроенных элементов текста, например, Span и Run.

Таким образом, вместо этого вам нужно добавить либо объект Run, либо объект Span.

// Create run and set text 
Run run = new Run(); 
run.Text = "test"; 

// Create paragraph 
Paragraph paragraph = new Paragraph(); 

// Add run to the paragraph 
paragraph.Inlines.Add(run); 

// Add paragraph to the rich text block 
richTextBlock.Blocks.Add(paragraph); 

Редактировать

Кажется, вы не можете напрямую связать свойство Text Заурядный или объекта Span из кода позади.

+0

благодарит сэра за ваш ответ, но я получаю сообщение об ошибке в строке: run.SetBinding (TextProperty, binding); => «Run» не содержит определения для «SetBinding», и не может быть найден метод расширения «SetBinding», принимающий первый аргумент типа «Run» (вам не хватает директивы using или ссылки на сборку?) – user3821206

+1

@ user3821206 oh да, я обновил ответ, ошибка была связана с проблемой привязки с Run, возможно, она не поддерживается или что-то еще. Я обновлю ответ, если найду способ привязать Run из кода позади. –

+0

ОК спасибо Sir^_ ^ – user3821206