【问题标题】:WPF Calendar: Binding to MVVM commands?WPF 日历:绑定到 MVVM 命令?
【发布时间】:2010-08-21 15:38:27
【问题描述】:

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

据我所知,我被代码隐藏中的事件处理困住了。例如,检测日期选择更改的唯一方法似乎是编写 SelectedDatesChanged 事件处理程序。我可以从事件处理程序调用视图模型中的命令属性,如下所示:

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

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

【问题讨论】:

    标签: wpf calendar


    【解决方案1】:

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

    【讨论】:

    • 当然!我完全沉浸在命令中,以至于只见树木不见森林。谢谢!
    猜你喜欢
    • 2011-04-04
    • 1970-01-01
    • 2014-11-06
    • 1970-01-01
    • 2021-08-29
    • 2015-06-07
    • 2010-11-06
    • 2013-04-25
    相关资源
    最近更新 更多