Это одно из тех раздражающих отличий Silverlight и WPF. Ни элементы TextBlock, ни Run не предоставляют свойство Background в Silverlight. Вам нужно обернуть их в рамку:
<Border Background="Red">
<TextBlock>Test please ignore</TextBlock>
</Border>
Таким образом, надоело делать именно то, что вы хотите, но возможно. Если текст, который вы хотите отобразить, заранее не известен, лучше всего взглянуть на сторонний элемент управления RichTextBox, такой как RadRichTextBox Telerik.