2010-03-16 110 views

回答

0

您可以随时将DateTime属性添加到控件的代码隐藏或视图模型类中(如果使用的话)。只需要一个总是返回DateTime.Now(或DateTime.Now.Date,因为您不需要时间部分)的属性并将该属性用于DatePicker.SelectedDate绑定。

public DateTime TodaysDate 
{ 
    get { return DateTime.Now.Date; } 
} 
在XAML

然后,假设在DataContext已经从父控件继承,您的DatePicker会是这个样子......

<DatePicker SelectedDate="{Binding Path=TodaysDate}"/>  
+0

它不起作用。我仍然可以在文本框中看到“显示日历”。此外,我需要另一个绑定将日期作为参数传递给另一个方法。我可以有2个绑定吗?我通过删除原始绑定来测试ur方法。 – yeeen 2010-03-16 11:48:13

+1

如果你想在文本框中看到日期,我想你需要设置DisplayDate属性而不是SelectedDate - 尽管我上次尝试绑定SelectedDate和DisplayDate时遇到了一些问题,但它产生了一些非常奇怪的行为! – TabbyCool 2010-03-16 11:52:32

+0

那么,是否要将SelectedDate绑定到对象上的某个属性,但默认情况下是否将其设置为今天的日期?如果是这样,当你的类初始化时,你不能只将你的日期属性设置为DateTime.Now?这样,起始日期将是今天的日期,但是当您在DatePicker中选择新日期时,您的基础日期属性将会更新。 – TabbyCool 2010-03-16 11:55:14

4

试试这个

<my:DatePicker SelectedDate="{x:Static System:DateTime.Now}" /> 

唐忘记添加系统命名空间

xmlns:System="clr-namespace:System;assembly=mscorlib" 
+2

您还必须记住声明XML“System”名称空间:'xmlns:System =“clr-namespace:System; assembly = mscorlib”'。 – Kasprzol 2011-02-07 23:07:26