我有一个包含一对 DateTime 的视图模型?对象 - 可为空的日期时间。
private DateTime? _xmitdtFrom;
public DateTime? xmitdtFrom
{
get { return this._xmitdtFrom; }
set
{
this._xmitdtFrom = value;
notifyPropertyChanged("xmitdtFrom");
}
}
private DateTime? _xmitdtTo;
public DateTime? xmitdtTo
{
get { return this._xmitdtTo; }
set
{
this._xmitdtTo = value;
notifyPropertyChanged("xmitdtTo");
}
}
xmitdtFrom 日期不能大于 xmitdtFrom 日期,xmitdtTo 日期不能早于 xmitdtFrom 日期,xmitdtTo 日期和 xmitdtFrom 都不能晚于今天。
所以,在标记中我有这个:
<Label Grid.Row="1" Grid.Column="1">
From:
</Label>
<DatePicker Grid.Row="1" Grid.Column="2"
SelectedDate="{Binding xmitdtFrom, Mode=TwoWay}"
DisplayDateEnd="{Binding xmitdtTo}"
/>
<Label Grid.Row="2" Grid.Column="1">
Through:
</Label>
<DatePicker Grid.Row="2" Grid.Column="2"
SelectedDate="{Binding xmitdtTo, Mode=TwoWay}"
DisplayDateStart="{Binding xmitdtFrom}"
DisplayDateEnd="{x:Static sys:DateTime.Now}"
/>
这工作正常,除非 xmitdtTo 为空 - 在这种情况下 xmitdtFrom 不受限制,这是一个问题。
我想要的是将 xmitdtFrom 的 DisplayDateEnd 设置为 xmitdtTo(如果它不为空)或 DateTime.Now(如果是)。
我想知道实现这一目标的最干净的方法是什么。