5

私はこのxamlテキストボックスを持っています

<TextBox Text="{Binding ProdFilter.Min, Mode=OneWayToSource,
   UpdateSourceTrigger=PropertyChanged, TargetNullValue=''}"
   Width="50" DockPanel.Dock="Right" TabIndex="3" />

このプロパティにバインドされています:

        public double? Min
        {
            get { return min; }
            set
            {
                if (value == null)
                    value = 0;
                min = value;
                OnPropertyChanged("Min");
            }
        }

私が抱えている問題は、プログラムが起動したとき、またはユーザーがテキストをクリアしたときに、テキストボックスのテキストが「0」に設定されることです。OneWayToSourceを使用しているため、この動作が正しいかどうかはわかりませんが、テキストが空の場合(およびテキストを空のままにする場合)にプロパティをnullに設定したいと思います。

何か案は?ありがとう!

4

1 に答える 1

6

これは、バインディングが。であっても、WPFが設定後にプロパティから値を再読み取りするためですOneWayToSource考えられる回避策については、この質問への回答を参照してください。

于 2011-03-01T15:58:13.303 に答える