Wpf 从对象转换为双精度时发生ImultiValueConverter错误
我正在使用ImultiValueConverter,我想将两个文本框中的两个双精度值转换为双精度值,然后将它们相乘,并在第三个文本框中显示结果 这是.cs文件中的代码Wpf 从对象转换为双精度时发生ImultiValueConverter错误,wpf,multibinding,imultivalueconverter,Wpf,Multibinding,Imultivalueconverter,我正在使用ImultiValueConverter,我想将两个文本框中的两个双精度值转换为双精度值,然后将它们相乘,并在第三个文本框中显示结果 这是.cs文件中的代码 public class NE_charp_converter:IMultiValueConverter { public object Convert(object[] values, Type targetType,
public class NE_charp_converter:IMultiValueConverter
{
public object Convert(object[] values,
Type targetType,
object parameter,
System.Globalization.CultureInfo culture)
{
double RE_sharp = double.Parse ((string)values[0]) +
double.Parse((string)values[1]) ;
return RE_sharp.ToString();
}
public object[] ConvertBack(object value, Type[] targetTypes,
object parameter,
System.Globalization.CultureInfo culture)
{
return null;
}
}
这是这里的xaml代码:
<TextBox x:Name="NE_charp_txt" Height="77" Margin="0,151,37,0"
VerticalAlignment="Top" HorizontalAlignment="Right"
Width="51.615" BorderBrush="Black">
<TextBox.Text>
<MultiBinding Converter="{StaticResource NE_CONVERTER}" Mode="OneWay">
<Binding ElementName="WBC_txt" Path="Text"/>
<Binding ElementName="NE_percent_txt" Path="Text"/>
</MultiBinding>
</TextBox.Text>
</TextBox>
但我得到了这个信息:
确保方法参数的格式正确
将对象转换为double并返回此值的正确形式是什么 转换器中大部分类似参数的值不能解析为double。加载时,传递给转换器的值将是空字符串,不能解析为双精度。因此是错误的
使用TryParse查看值是否可以转换为double。如果不返回空字符串,则返回两个双精度值的总和
public object Convert(object[] values, Type targetType, object parameter,
System.Globalization.CultureInfo culture)
{
double firstValue = 0.0;
double secondValue = 0.0;
if (double.TryParse(values[0].ToString(), out firstValue) &&
double.TryParse(values[1].ToString(), out secondValue))
{
double RE_sharp = firstValue + secondValue;
return RE_sharp.ToString();
}
return String.Empty;
}