2009-07-28 42 views
2

我成功地创造了一些常量在Silverlight中的XAML像声明日期时间在XAML在Silverlight

<sys:Boolean x:Key="foo">True</sys:Boolean> 

然而,当我试图做同样的一个DateTime(初始化一些DatePicker 控制)

<sys:DateTime x:Name="myDate"/> 

系统抛出一个XamlParseException“未知元素:DateTime。[Line:xxx Position:xxx]”

有没有办法在XAML中声明DateTime常量(我在考虑DateTime.Now)?

回答

1

在WPF中你可以用X做到这一点:静态:

<FrameworkElement x:Key="dt" Tag="{x:Static s:DateTime.Now}" /> 

,从查尔斯Petzold的一切的XAML时钟是: http://www.charlespetzold.com/blog/2006/04/070132.html

不幸的是,在Silverlight中没有静态标记属性,所以我不确定你如何复制这个。虽然真的想看到答案!

+0

很酷。我正在探索这个选择,但并不认为它会起作用。 – 2009-07-28 14:49:45

0

我觉得你可以只设置特定日期:

> <telerikInput:RadDatePicker 
> SelectedDate="30/7/2009" /> 
1

我不知道任何方式做到这一点无需编写代码。您必须将DateTime.Now作为数据模型中的属性公开,并像往常一样绑定到它。

0

我能想到的2种可能的方式来做到这一点:

1:(我不知道你能做到这一点,直到刚才):

<x:Code> 
    <![CDATA[ 
    private DateTime m_MyDateTime = DateTime.Now; 
    ]]> 
</x:Code> 

2.你可能会尝试创建一个从FrameworkElement继承的CustomControl,并公开一个DateTime DependencyProperty,以便您可以对其进行DataBind。

编辑:

我不是100%肯定,如果这两种方法将在Silverlight的工作,我只是提供基于我的WPF客户端应用程序体验的解决方案。