How to preserve white-spaces of TextBlock in UWP apps
First, Run.Text
does support data binding.
The reason that  
doesn't print correctly inside data binding is because it's using XML escape characters.
Try using (char)160
instead -
public string TestString { get; set; } = "Example" + (char)160 + (char)160 + (char)160;
<TextBlock>
<Run Text="{x:Bind TestString}" />
</TextBlock>
You can try setting the xml:space
property to preserve in your XAML
<TextBox Name="t1"
xml:space="preserve"
Text="Example " />