我成功地在Silverlight的XAML中创建了一些常量
<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
)?
答案 0 :(得分:1)
在WPF中,您可以使用x:Static:
执行此操作<FrameworkElement x:Key="dt" Tag="{x:Static s:DateTime.Now}" />
这是来自Charles Petzold的所有Xaml时钟: http://www.charlespetzold.com/blog/2006/04/070132.html
不幸的是Silverlight中没有静态标记属性,所以我不确定你是如何复制它的。真的很想看到答案!
答案 1 :(得分:1)
如果不编写代码,我不知道有什么方法可以做到。您必须在数据模型中公开DateTime.Now
作为属性,并照常绑定它。
答案 2 :(得分:0)
我认为你只能设定具体日期:
> <telerikInput:RadDatePicker
> SelectedDate="30/7/2009" />
答案 3 :(得分:0)
我可以想到2可能的方法:
1:(我不知道你能做到这一点直到现在):
<x:Code>
<![CDATA[
private DateTime m_MyDateTime = DateTime.Now;
]]>
</x:Code>
2. 您可以尝试创建一个继承自FrameworkElement的CustomControl,并公开DateTime DependencyProperty,以便您可以使用DataBind。
修改强>
我不是百分之百确定这两种方法是否适用于Silverlight,我只是根据我在WPF客户端应用程序方面的经验提供解决方案。