2011-11-25 32 views
1

如何正確綁定來自Silverlight Toolkit的DatePicker的「日期」?我用下面的XAML碼:如何在C#/ Silverlight中綁定DatePicker的「日期」?

<sdk:DatePicker 
x:Name="DpDate" 
Width="200" 
Height="25" 
DisplayDate="{Binding Date, Mode=TwoWay}" /> 

如果我選擇一個日期我的ViewModel臨危變化。但我的視圖不接收ViewModel的起始值?或者我如何設置當前日期?

編輯:「雙向」綁定與TextBox在同一個View/ViewModel中一起使用。我認爲我的問題是,我不確定什麼屬性我應該用於DatePicker的綁定。我應該使用文本,DisplayDate還是某物。其他?

+0

只是爲了澄清。如果您在UI中設置日期,則Datepicker綁定的變量也會獲取該值。但是當應用程序啓動時,日期不會被設置爲綁定到的變量的值? – Chris

回答

0

可能你的viewmodel不是impotmenting INotifyPropertyChanged - 綁定是在位,但控件不知道它綁定的屬性已經改變。網上有很多(太多!)關於如何提示INotifyPropertyChanged this one來自JoshSmith的例子是可以的。
或者,您可以使您的DateTime屬性成爲依賴屬性。

1

只需綁定你ViewModels屬性爲文本的DatePicker財產(以更好的兼容性利用Converter)。

也不要忘記有關實現INotifyPropertyChangedTwoWay結合模式

6

嘗試與SelectedDate綁定:

<sdk:DatePicker SelectedDate="{Binding Date,Mode=TwoWay}"/> 
1

我不得不在DatePicker必然會對SelectedDate包含一個數據上下文同樣的問題具有日期屬性的子對象。該控件不會顯示對基礎日期屬性的更改。當我爲數據上下文添加getter/setter來更新子對象的日期時,它按預期工作。

這不起作用:

<sdk:DatePicker x:Name="FromDate" SelectedDate="{Binding Child.TheDate, Mode=TwoWay}" 

這工作:

<sdk:DatePicker x:Name="FromDate" SelectedDate="{Binding TheDate, Mode=TwoWay}" 

(這是我第一天WPF/Silverlight的,所以我不知道是否有更好的方法來解決問題。)

相關問題