Just encountered this problem for UWP creating a StringFormatConverter ConverterParameter for a TimeSpan value. The TimeSpan.ToString(x) custom format string for some crazy reason requires apostrophes around literal characters even though DateTimeOffset doesn't. Seems needlessly inconsistent.
Anyway... None of the above successfully worked. One approach worked as far as getting the XAML designer to display/work, but it created a build error.
The solution I settled upon was to put the format string in a string resource of the nearest enclosing element. Since I was displaying the value in a box created using Border, I stuffed the format string into the resources of the Border element.
The StringFormatConverter is the one from the Microsoft UWP Toolkit on NuGet.
<StackPanel Orientation="Horizontal">
<TextBlock Text="Timespan=" />
<Border BorderBrush="Black" BorderThickness="0.5" Padding="2">
<Border.Resources>
<x:String x:Key="TimespanValueConverterParameter">{0:hh':'mm':'ss'.'fff}</x:String>
</Border.Resources>
<TextBlock Text="{Binding TimespanValue, Mode=OneWay, Converter={StaticResource StringFormatConverter}, ConverterParameter={StaticResource TimespanValueConverterParameter}}" />
</Border>
</StackPanel>