Я в значительной степени зависит от того, что вы хотите достичь, но вы могли бы использовать RichTextBox из WPF Toolkit, как предложено here.
Или вы можете добавить возможность привязки к .Net RichTextBox, как предложено here.
Однако, если вам не требуется ничего сложного, как RichTextBox. Вы можете использовать ValueConverter и изменить текст, который вы собираетесь показать, чтобы он лучше соответствовал вашим потребностям. Нравится example.
Кроме того, в зависимости от того, что вам нужно, вы можете создать элемент управления пользователя с помощью свойства «Текст», а в PropertyChanged - разделить текст на более мелкие части и связать их в разных «вспомогательных свойствах» », который будет отображаться в разных текстовых блоках (с разными стилями) внутри вашего User Control.
Update (добавлено предложение от моего комментария)
Если RichTextBox не является решением проблемы, а UserControl либо, вы могли бы использовать ValueConverter для достижения этой цели с TextBlock.Inline, как here.
Хм, могу ли я привязать текстовый блок к массиву строк (слов?), Чтобы сгенерировать столько кадров при необходимости? – Davita
'Run' добавляется как' Inlines' в TextBlock, то есть вы можете сделать так: textBox.Inlines.Добавить (новый Run() {Text = "Brown"}); '. Но 'Inlines' не является DP, поэтому вы не можете связываться с ним. Тем не менее, вы можете использовать привязку конвертера и передачи строки строки там вместе с textBox, и там вы можете добавить строки в textBlock. Но в TextBlock нет встроенной поддержки. Или либо нужно подклассы TextBlock сказать «MyTextBlock» и выставить DP из него, и может поместить код добавления строк в изменение DP. –
Спасибо, ваш ответ привел меня к решению. Я просто разделил текст на 3 части в виртуальной машине и привязал его к 3 забегам. Не чистое решение, но оно работает. – Davita