Timepicker Updatesourcetrigger=propertychanged doesn't change value

后端 未结 2 1848
醉酒成梦
醉酒成梦 2021-01-19 15:34

I\'m hosting a WPF usercontrol in a windows form In the wpf user control I am using a timepicker from wpfToolkit.extended

If I use the up or downkeys or just enter a

相关标签:
2条回答
  • 2021-01-19 16:06

    Does the TimePicker have a Text property? If so, try binding to that instead.

    I think this behavior might be to prevent you from binding to a bad datetime as you type. I would guess that when focus is lost it tries to set the property and does error checking. If it did this while you typed it would constantly be changing the value anytime you make a change (say delete a character).

    Is there something specific you are trying to do as you type?

    0 讨论(0)
  • 2021-01-19 16:14

    Found a solution for this problem: I've given the TimePicker a name (In this case 'tpFrom') then I've used the TextBoxBase.TextChanged event on the TimePicker. This is what the Xaml looks like now:

    <xctk:TimePicker Name="tpFrom"  Format="LongTime"  TextBoxBase.TextChanged="TimePicker_TextChanged"  TimeInterval="00:15:00.000" Value="{Binding Path=StartTime, UpdateSourceTrigger=PropertyChanged}"></xctk:TimePicker>
    

    In the code behind in our eventhandler we'll put the focus on our timepicker.

      private void TimePicker_TextChanged(object sender, TextChangedEventArgs e)
        {
            tpFrom.Focus();            
        }
    

    Now everytime the text changes, the value changes as well and the problem is solved :-)

    0 讨论(0)
提交回复
热议问题