我将我的应用程序的副本发送给了几个测试人员,到目前为止,除了其中一个测试人员之外,它的工作正常。由于它在启动时崩溃,我认为它将在InitializeComponent上,但事实证明它不是。我有一个未处理的异常处理程序,它返回:
我猜我的BumpIntensity_Converter(IMultiValueConverter)有问题。我传入一个double作为转换器的参数,我不知道为什么这会是一个问题。这是第21行(在我的转换器中),这是异常所说的起源于:
double bump = double.Parse(((string) parameter));
为什么这会给我一个错误?它适用于所有其他测试过的机器,这台机器没什么特别的。
我尝试用它代替它:
double bump = System.Convert.ToDouble(parameter);
但结果是一样的。
以下是我在xaml视图中使用转换器的方法:
<MultiBinding Converter="{StaticResource BumpIntensity_Conv}" ConverterParameter="0.9">
<Binding ElementName="LayerNormalThumbnail" Path="Width"/>
<Binding ElementName="LayerNormalThumbnail" Path="Height"/>
</MultiBinding>
答案 0 :(得分:2)
也许这个用户的PC设置为解析欧洲风格的双打。在欧洲,逗号和句点的使用相反 - 句点用作千位分隔符,逗号是小数点分隔符。