Nat*_*lus 14 wpf text datepicker wpftoolkit
当我的用户通过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}"/>
Run Code Online (Sandbox Code Playgroud)
救命!如何确保在按钮事件代码中使用此类型的值?
谢谢!
Sla*_*pen 18
我发现了一个更简单的解决方案,我不需要DateConverter
.
我只绑定了Text
财产并使用TargetNullValue=''
.
<DatePicker x:Name = "dpDisbursementDate"
Text = "{Binding NameOfMyProperty, Mode=TwoWay,
UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True,
TargetNullValue=''}"/>
Run Code Online (Sandbox Code Playgroud)
您可以使用转换器将键入的文本解析为有效的日期时间
样品
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;
}
Run Code Online (Sandbox Code Playgroud)
XAML
<Controls:DatePicker
Text="{Binding OrderDate,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
SelectedDate="{Binding RelativeSource={RelativeSource Self},Path=Text,
Converter={StaticResource DateConverter}}">
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
24143 次 |
最近记录: |