gpt4 book ai didi

c# - Silverlight SDK 日期选取器未将所选日期重置为今天

转载 作者:行者123 更新时间:2023-11-30 18:00:05 25 4
gpt4 key购买 nike

我对 DatePicker 有以下定义:

<sdk:DatePicker x:Name="dtpStartDate"
Grid.Row="4"
Grid.Column="1"
SelectedDateFormat="Short"
SelectedDate="{Binding MyObject.StartDate, Mode=TwoWay, NotifyOnValidationError=True}"/>

MyObject 是一个包含 StartDate 的类,它被定义为可为 null 的 DateTime

class MyObjectClass
{
....
public DateTime? StartDate { get; set; }
....
}

我正在使用 MVVM(通过 Prism)并且 MyObject 已正确绑定(bind)。

我第一次显示此 View 时,日期是空白的(正如预期的那样),当我单击选择器时,日历会显示并突出显示今天的日期。

如果我选择一个日期(不是今天)或显示一个填写了日期的记录,那么当我清空表单以创建一个新对象时:

this.MyObject = new MyObjectClass();

当我点击选择器时突出显示的日期是之前选择的日期。

因此,如果记录显示“2009 年 5 月 1 日”,这将在选择器中突出显示。我可以将 StartDate 设置为正确显示的 DateTime.Today,但这意味着日期以我不想要的形式显示。

那么,为什么不将日期设置为 null 将选择器中的所选日期重置为今天呢?

最佳答案

解决方案是重置 DatePicker 上的 DisplayDate 属性:

        this.SelectedDateChanged += (s, e) =>
{
if (this.SelectedDate == null)
{
this.DisplayDate = DateTime.Today;
this.Text = string.Empty;
}
};

不过,要添加此功能,我们必须继承 DataPicker

关于c# - Silverlight SDK 日期选取器未将所选日期重置为今天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10500022/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com