【问题标题】:Open EditAppointmentDialog MVVM打开 EditAppointmentDialog MVVM
【发布时间】:2016-05-31 15:14:20
【问题描述】:

我目前有一个视图模型,它有一个充满约会的网格。我想双击并打开我的 CalendarView,并为所选记录打开 editappointmentdialog。请问我将如何以 MVVM 风格做到这一点?

我在互联网上搜索并找到了这个RadScheduleViewCommands.EditAppointment.Execute(appointment, this.scheduleView);,但我无法从 MVVM 访问 scheduleView 对象。请问我应该怎么做?

我认为如果我将它传递回视图,我可以实现这一点,但我正在尝试寻找另一种方法。

【问题讨论】:

    标签: c# wpf mvvm telerik


    【解决方案1】:

    您遇到的问题是您无法从视图模型打开视图,因为它会破坏 MVVM 设计模式。

    有几种方法可以轻松地从视图模型中打开视图:

    • 实现 Messenger 服务以将事件发布到视图,就像 MVVMLight 所做的那样。
    • 直接在按钮上添加一个Click 事件处理程序,并在后面的代码中打开视图(毕竟它仍然是视图代码)。

    但是我的首选方法是使用ICommandRelayCommand。我写了一个repository on GitHub 来演示如何实现这一点。

    【讨论】:

      猜你喜欢
      • 2015-03-03
      • 2019-09-20
      • 1970-01-01
      • 1970-01-01
      • 2010-12-20
      • 2014-11-08
      • 1970-01-01
      • 2010-11-22
      相关资源
      最近更新 更多