WPF日历:绑定到MVVM命令?

时间:2010-08-21 15:38:27

标签: wpf calendar

我正在将WPF日历连接到MVVM视图模型。我不确定如何将日期选择和月份更改绑定到MVVM ICommand对象。例如,要处理选定的日期更改,我将在XAML中将哪个对象绑定到视图模型中的相应命令属性?

就我所知,我在代码隐藏中遇到了事件处理问题。例如,看起来检测日期选择更改的唯一方法是编写SelectedDatesChanged事件处理程序。我可以从事件处理程序中调用视图模型中的command属性,如下所示:

private void Calendar_SelectedDatesChanged(object sender, SelectionChangedEventArgs e)
{
    var viewModel = (CalendarViewModel) DataContext;
    viewModel.GetDateNotes.Execute();
}

但我感觉到这种方法的代码味道,除非没有更好的方法可用。任何人都可以告诉我如何直接从XAML绑定WPF日历到MVVM命令?有没有比我正在采取的方法更好的方法?谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

你的VM中是否有一个DateTime属性绑定到日历并引发PropertyChanged?如果是这样,你不能注意内部更改的属性或在setter中编写代码,以便您知道视图何时更改其值?