Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

WPF TargetNullValue returning value when the textbox's binding is set to OneWayToSource

I have this xaml textbox

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

binded to this this property:

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

The problem I have is that when the program starts or when there user clears the text, the textbox's text is set to "0". I don't know if this behaviour is right, because i'm using OneWayToSource, but i'd like my property to be set to null when text is empty (and the text to remain empty!)

Any ideas? Thanks!

like image 803
Martín Coll Avatar asked Mar 01 '11 15:03

Martín Coll


1 Answers

This is because WPF re-reads the value from the property after it sets it even though the binding is OneWayToSource. Please see the answer to this question for possible workaround.

like image 101
Pavlo Glazkov Avatar answered Sep 25 '22 23:09

Pavlo Glazkov