0

我正在使用带有 MVVM 模式的 Avalon DatePicker 控件。我将此控件的 CurrentSelectedDate 绑定到我的 ViewModel 中的一个属性,如下所示:

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

其中 BirthDate 是我的 ViewModel 类中 DateTime 类型的属性:

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

            _patient.BirthDate = value;

            base.OnPropertyChanged("BirthDate");
        }
    }

不过,当我从用户界面更改值时,不会发生此属性的更改。有人可以解释我做错了什么吗?我仅限于 .NET 3.0。

4

2 回答 2

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>
于 2012-01-06T14:19:13.660 回答
0

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

问候

于 2011-12-14T15:43:18.963 回答