3

選択した項目に と がバインドされていますListviewTextboxユーザーがテキスト ボックス内の値 (ダブル) を削除すると、次のエラーが発生します Value '' cannot be converted。だから私はTargetNullValue=''このように持っていました:

<TextBox x:Name="textBoxVoltage" Text="{Binding Voltage, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, TargetNullValue=''}" />

しかし、それでもエラーが発生します....何が間違っていますか? ありがとう。

4

1 に答える 1

8

問題は、あなた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());
    }
}
于 2015-03-08T21:56:10.740 に答える