I helped someone to solve a problem at MSDN forums. The resolution of the issue was easy to solve that mystery.  

Direct links to the source



The basic problem was FlipView which is not build for repeating the bound items like GridView and ListView controls.

The ItemTemplate of a FlipView usually comprises of a RichTextColumns which than aggregate a single object of RichTextBlock.

The objective of RichTextBlock is to render a rich text that supports formatted text, hyperlinks, inline images, and other rich content.

In each Paragraph, different combinations could be used such as Run, Span and InlineUIContainer. These features are really powerful to render the text on screen but have some limitations such as missing the Text binding of Run.

I concluded the solution in some steps.
  1.   Get the reference of required paragraph.
  2.   Create an object of Run.
  3.   Either create a TextBlock or TextBox (could be multiline)
  4.   Create your required Binding with TextBlock or TextBox
  5.   Set the Text property of above created control to Run’s Text property
  6.   Now required format can be applied to Run

The trick is simple, the Text property of Run doesn't support binding feature, it requires a string and Text property of Run is not a dependency property.

So if we create a control, the Text property of which supports binding will be much helpful for us.

We can also use InlineUIContainer for achieving more durable solution.

The essential part of the source is mentioned below:


TextBlock wordTextBlock = new TextBlock();
                        Run word = new Run();
                        Binding wordBinding = new Binding() { Path = new PropertyPath("RequiredWord"), Mode = BindingMode.OneWay };
                        wordBinding.Source =  _words.FirstOrDefault();
                        wordTextBlock.SetBinding(TextBlock.TextProperty, wordBinding);
                        wordTextBlock.TextWrapping = TextWrapping.Wrap;
                        word.Text = wordTextBlock.Text;                 
                        word.FontSize = 18;                    

TextBox definition = new TextBox();
                        definition.AcceptsReturn = true;
                        definition.IsReadOnly = true;
                        InlineUIContainer container = new InlineUIContainer();  
     Binding meaningBinding = new Binding() { Path = new PropertyPath("Meaning"), Mode = BindingMode.OneWay };
                        meaningBinding.Source = _words.FirstOrDefault();
                        definition.SetBinding(TextBox.TextProperty, meaningBinding);                     
                        container.Child = definition;                        

Project Source

Source is published at here