我可以硬塞进DateTimePicker日期和Textbox“吗;时间“;转换为DateTime
本文关键字:时间 转换 DateTime Textbox DateTimePicker 日期 我可以 | 更新日期: 2023-09-27 18:24:49
我有一组这样的组件:
<StackPanel Orientation="Horizontal" >
<Label>Between</Label>
<DatePicker Name="dtpFrom" ></DatePicker>
<TextBox Name="timeFrom" MinWidth="60" />
<Label>and</Label>
<DatePicker Name="dtpTo"></DatePicker>
<TextBox Name="timeTo"
MinWidth="60" />
</StackPanel>
用户可以在其中选择日期并设置"开始"日期和时间以及"结束"日期和日期。
我想将这些(DatePicker的日期部分与TextBox中表示的相应时间部分)组合为DateTime值。例如:
DateTime dtFrom;
我希望能够做一些类似(伪代码)的事情:
dtFrom = (DateTime) dtpFrom.Date + Convert.ToTime(timeFrom);
有办法做到这一点吗?
我建议在DataContext(即:ViewModel)中处理此问题,并绑定到两个单独的属性。这些可以很容易地映射到底层CCD_ 1。
例如:
// In ViewModel
private DateTime dateTime;
public DateTime Date
{
get { return dateTime.Date; }
set
{
if (value != dateTime.Date)
{
dateTime = value.Date + dateTime.TimeOfDay;
RaisePropertyChanged("Date");
}
}
}
public TimeSpan Time
{
get { return dateTime.TimeOfDay; }
set
{
if (value != dateTime.TimeOfDay)
{
dateTime = dateTime.Date + value;
RaisePropertyChanged("Time");
}
}
}
这将允许您将每个控件绑定到适当的属性,但仍然可以在单个DateTime
实例中维护所有内容。