2011-12-14 61 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。

問候