jcr*_*jcr 3 c# wpf mvvm targetnullvalue
我有一个Listview和一个Textbox绑定到所选项目.当用户删除文本框中的值(这是一个双精度值)时,我收到以下错误: Value '' cannot be converted.所以我有TargetNullValue='',像这样:
<TextBox x:Name="textBoxVoltage" Text="{Binding Voltage, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, TargetNullValue=''}" />
Run Code Online (Sandbox Code Playgroud)
但我仍然得到错误......我做错了什么?谢谢.
问题是,你Voltage是类型的double和''不能被转换为double.
您可以更改Voltage到类型double?,这将让你做到这一点.
替代方案是使用转换器,但是假设0和空是相同的事情:
public class EmptyDoubleConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value == null || (double)value == default(double))
return "";
return value.ToString();
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
if (String.IsNullOrEmpty(value as string))
return default(double);
return double.Parse(value.ToString());
}
}
Run Code Online (Sandbox Code Playgroud)