0

我让 datepicker 将其选定的日期属性绑定到数据集,如下面的 XAML 所示:

<DatePicker x:Name="date_picker" Margin="0,0,0.2,0" SelectedDate="{Binding Date, Mode=TwoWay, 
NotifyOnValidationError=true, ValidatesOnExceptions=true, StringFormat=dd-MM-yyyy}" ToolTip="Please
select a date" FirstDayOfWeek="Monday" SelectedDateFormat="Short" DisplayDateStart="2013-01-01" 
DisplayDateEnd="2020-01-01" />

但是当窗口加载时,我希望默认输出是今天的日期,而不是默认的“选择日期”,但是当我使用下面的代码时,我只得到默认的“选择日期”。我认为这可能是因为 SelectedDate 属性被使用了两次。我将如何解决这个问题?

date_picker.SelectedDate = DateTime.Today; 
4

1 回答 1

0

不要在过程代码中操作 UI 元素。

如果 DatePicker 的SelectedDate属性绑定到某个对象的Date属性,为什么不直接在底层对象中设置数据呢?

public class SomeObject
{
    public DateTime Date {get;set;}

    public SomeObject()
    {
        Date = DateTime.Today;
    }

}

在过程代码中设置 UI 元素的属性完全违背了 DataBinding 的目的。

您必须牢记这一点UI is Not Data

于 2013-03-10T16:18:27.033 回答