WP7 DatePicker,TimePicker数据绑定

时间:2012-04-15 17:29:12

标签: silverlight xaml datetime data-binding windows-phone-7.1

我正在构建一个需要显示和接受模型中日期的应用程序(从数据库中检索)。该模型公开了一个名为EntryTime的属性:

 private DateTime entryTime;

[Column]
public DateTime EntryTime
{
    get { return entryTime;  }
    set
    {
        if (entryTime != value)
        {
            this.NotifyPropertyChanging("EntryTime");
            entryTime = value;
            this.NotifyPropertyChanged("EntryTime");
        }
    }
}

我的页面上有一个DatePicker和一个TimePicker,并希望将它们绑定到EntryTime。我试图通过绑定值来绑定它们,但这不起作用:

    <toolkit:DatePicker HorizontalAlignment="Left" Margin="151,6,0,0" x:Name="dateCurrent" VerticalAlignment="Top" Width="175" Value="{Binding CurrentEntry.EntryDate}" />
    <toolkit:TimePicker HorizontalAlignment="Left" Margin="313,6,0,0" Name="timeCurrent" VerticalAlignment="Top" Value="{Binding CurrentEntry.EntryDate}" Width="137" />

我对Silverlight相对比较新,所以我不知道我能做些什么来将时间选择器绑定到EntryDate和DatePicker的时间到EntryDate的日期。

感谢您的帮助

2 个答案:

答案 0 :(得分:3)

我遇到了同样的问题。尝试将DatePicker绑定到 DateTime?而不是 DateTime

答案 1 :(得分:2)

绑定应该有效。如果你可以详细说明你所拥有的问题,那就太棒了。我注意到你缺少的一件事是绑定的“TwoWay”模式:

    <toolkit:DatePicker HorizontalAlignment="Left" 
              Margin="151,6,0,0" 
              x:Name="dateCurrent" 
              VerticalAlignment="Top"  
              Width="175" 
              Value="{Binding CurrentEntry.EntryDate, Mode=TwoWay}" />

    <toolkit:TimePicker 
              HorizontalAlignment="Left" 
              Margin="313,6,0,0" 
              Name="timeCurrent" 
              VerticalAlignment="Top" 
              Value="{Binding CurrentEntry.EntryDate, Mode=TwoWay}" Width="137" />