2009-07-28 70 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客戶端應用程序體驗的解決方案。