WPF Avalon控制Datepicker绑定

时间:2011-12-14 14:57:18

标签: wpf wpf-controls datepicker avalondock

我正在使用带有MVVM模式的Avalon DatePicker控件。 我将此控件的CurrentlySelectedDate绑定到我的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。

2 个答案:

答案 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>

答案 1 :(得分:0)

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

此致