 <p>You need to bind to a ViewModel.Value somehow, and then use a (nested) binding to a format string.</p> <p>When you have only one value:</p> <pre><code>&lt;TextBlock Text="{Binding Path=DemoValue, StringFormat={StaticResource SomeKey}}" /&gt; </code></pre> <p>When you also have <code>{1}</code> etc then you need MultiBinding.</p> <h2>Edit:</h2> <p>When you really want to change languages in a live Form then the sensible way is probably to do all formatting in the ViewModel. I rarely use StringFormat or MultiBinding in MVVM anyway. </p>