2011-12-14 2 views
0

Я использую Avalon DatePicker Control с шаблоном MVVM. Я связывание CurrentlySelectedDate этого элемента управления к свойству из моих ViewModel как так:WPF Avalon Controls Datepicker Binding

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

где 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, Mode = TwoWay так:

<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 вместо CurrentSelectedDate.

С уважением