【问题标题】:Proper way in MVVM to direct the handling of a RelayCommand to a view model parentMVVM 中将 RelayCommand 的处理定向到视图模型父级的正确方法
【发布时间】:2009-08-17 16:07:47
【问题描述】:

我对 MVVM 甚至 WPF 在某种程度上还是很陌生,所以请耐心等待...

我有一个 MVVM 应用程序,它有一个主窗口,根据应用程序状态包含不同类型的视图模型实例。其中一个视图模型是一个选项屏幕,其中包含一个用于重新启动应用程序并以不同用户身份登录数据库的按钮。 使用 RelayCommand,如何让父窗口(主窗口)处理此命令并发出 Window.Close() 方法调用?

【问题讨论】:

    标签: wpf relaycommand


    【解决方案1】:

    在父视图模型上定义 RelayCommand。 Associated 处理程序也将在父视图模型中定义。

    现在,当您创建子视图模块时,将 Paremtn 视图模型对象传递给构造函数中的子视图模型(依赖注入模式)。

    现在您可以为您的视图或视图模型设置命令绑定。

    另一种选择是实际使用路由命令而不是中继命令,并让它冒泡到您的父视图模型。

    【讨论】:

    • 这实际上非常有道理,我觉得自己像个傻瓜,之前没有意识到这一点。
    猜你喜欢
    • 2016-04-26
    • 2012-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-10
    • 2011-11-09
    相关资源
    最近更新 更多