2011-12-14 39 views
0

我正在使用带有MVVM模式的Avalon DatePicker控件。 我这个控件的CurrentlySelectedDate从我的ViewModel绑定属性,像这样:WPF Avalon Controls Datepicker绑定

<my:DatePicker x:Name="dtpBirthDate" Cursor="Hand" DatesSelectionMode="Single" OverridesDefaultStyle="False" CurrentlySelectedDate="{Binding Path=BirthDate}" /> 

哪里出生日期是DateTime类型的属性在我的ViewModel类:

public DateTime BirthDate 
    { 
     get { return _patient.BirthDate; } 
     set 
     { 
      if (value == _patient.BirthDate) 
       return; 

      _patient.BirthDate = value; 

      base.OnPropertyChanged("BirthDate"); 
     } 
    } 

尽管如此,这个属性的变化在更改用户界面的值时不会发生。 有人可以解释我做错了什么吗? 我只限于.NET 3.0。

回答

1

将溶液添加UpdateSourceTrigger =的PropertyChanged,模式=双向像这样:

<my:DatePicker x:Name="dtpBirthDate" Cursor="Hand" DatesSelectionMode="Single" 
        OverridesDefaultStyle="False" 
        CurrentlySelectedDate="{Binding Path=BirthDate, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" 
        Validation.ErrorTemplate="{x:Null}"></my:DatePicker> 
0

请尝试将BirthDate绑定到SelectedDate属性而不是CurrentlySelectedDate。

问候