I sent out copies of my app to several testers, and so far it works as expected on all except one of them. Since it was crashing on the startup I thought it would be on the InitializeComponent but it turns out its not. I have an unhandled exception handler that returns this:
I guess something is wrong with my BumpIntensity_Converter (IMultiValueConverter). I am passing in a double as a parameter to the converter, I don't know why that would be a problem. Here is line 21 (inside my converter), which is where the exception says it originates from:
double bump = double.Parse(((string) parameter));
Why would this be giving me an error? It works on all other machines tested, and this machine has nothing particularly special.
I tried replacing it with this:
double bump = System.Convert.ToDouble(parameter);
but the results are the same.
Here is how I am using the converter in my xaml view:
<MultiBinding Converter="{StaticResource BumpIntensity_Conv}" ConverterParameter="0.9">
<Binding ElementName="LayerNormalThumbnail" Path="Width"/>
<Binding ElementName="LayerNormalThumbnail" Path="Height"/>
</MultiBinding>
Maybe this user's PC is set up to parse doubles in European style. In Europe, the use of the comma and period is reversed - the period is used as a thousands separator and the comma is the decimal separator.