1

私のWPFアプリケーションでは、このようなダブルプロパティにバインドされたテキストボックスがあります

<TextBox Text="{Binding Orientation, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"/>

プロパティは次のようになります

    private double _orientation;
    public double Orientation
    {
        get { return _orientation; }
        set
        {
            _orientation = value;
            NotifyOfPropertyChange(() => Orientation);
        }
    }

ダイアログをロードすると、テキストボックスがデフォルト値 0.0 で表示されますが、これは望ましくありません。テキストボックスが空に見えるようにしたい。

また、テキスト ボックス内のすべてのテキストを選択して削除/バックスペース キーを押す (テキスト ボックス内のすべてのテキストをクリアする) と、Set プロパティが起動されず、プロパティに何も設定されません。つまり、_orientation 変数に空の値を許可したいのです。この 2 つのタスクを実行するにはどうすればよいですか。よろしくお願いします!

4

1 に答える 1

3

プロパティに空の値を設定できるようにしたいのですが、double はこれをサポートしていません。ゼロは空の値ではなく、ゼロです。空の値も持てるようにしたい場合は、おそらくプロパティを null 許容にする必要があるため、代わりに . として宣言する必要がありますdouble?

これにより、2 番目の問題も解決される可能性があります。空の値は に変換できないため、プロパティが空の値に設定されていませんdouble

于 2013-08-14T10:00:08.420 に答える