当输入文本时,wpf – DatePicker.SelectedDate不会更改

当我的用户通过DatePicker中的Calander控件选择日期时,该值将正确绑定到底层对象.但是,如果用户在DatePicker中键入日期,则单击按钮,文本不会设置为SelectedDate属性.

用户必须从要更新的绑定对象的DatePicker中的TextBox删除光标.

<toolkit:DatePicker Name="_dpField" Grid.Column="1" MinWidth="100"
               ToolTip="{Binding Path=ToolTipText}"
               TextInput="_dpField_TextInput"
               SelectedDate="{Binding Path=Value,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}"/>

帮帮我!如何确保按钮事件代码中使用此类型值?

谢谢!

解决方法

您可以使用转换器将您键入的文本解析为有效的日期时间

样品

public object Convert(object value,Type targetType,object parameter,CultureInfo culture)
    {
        string strValue = System.Convert.ToString(value);
        DateTime resultDateTime;
        if (DateTime.TryParse(strValue,out resultDateTime))
        {
            return resultDateTime;
        }
        return value;

    }

XAML

<Controls:DatePicker 
     Text="{Binding OrderDate,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
     SelectedDate="{Binding RelativeSource={RelativeSource Self},Path=Text,Converter={StaticResource DateConverter}}">

相关文章

操作步骤 1、进入elasticsearch的plugin,进入ik。进入config。 2、在config下面建立以.dic为后缀的字典...
lengend data数据中若存在&#39;&#39;,则表示换行,用&#39;&#39;切割。
代码实现 option = { backgroundColor: &amp;#39;#080b30&amp;#39;, tooltip: { trigger: &...
问题原因 原因在于直接在js中取的变量并复制给var变量。 于是就变成这样。 解决办法 var data = &#...
前言 最近做了一个调查问卷导出的功能,需求是将维护的题目,答案,导出成word,参考了几种方案之后,选...
对于很多人来说,用字符编码都是熟能生巧,而不清楚为什么是那样的字符编码,所以我在这列了一个表,翻...