从用户控件到窗口的WPF MVVM事件通知

时间:2013-06-15 22:20:54

标签: wpf events mvvm

我有一个窗口控件,在向导样式环境中包含四个用户控件(屏幕)。 (即,只能看到一个用户控件)窗口控件有一系列按钮,用作所有用户控件之间的主要导航。

----------------------------------
|                                |
|        SCREEN x of 4           |
|                                |
----------------------------------
|                                |
|        Back   Next    Cancel   |
----------------------------------

当用户完成每个屏幕时,向导将构建信息配置文件。我已经定义了一个实现INotifyPropertyChanged的配置文件类型,它将包含用户提供的信息。到目前为止,非常好。

我的问题是:当第一个用户控件(屏幕1的4)修改了配置文件类型时,如何提醒窗口?我正在尝试使用MVVM而不是使用代码隐藏。

我尝试在第一个用户控件上设置一个事件。窗口将是该事件的订阅者,但这不起作用。

用户控件是否有更好的方法来警告主窗口发生了什么事?

2 个答案:

答案 0 :(得分:0)

您使用的MVVM框架是什么?他们中的大多数都有Mediator模式的实现来处理视图模型之间的通信。

我使用Cinch V2和here你可以找到它如何实现模式的解释,还可以看到一些显示如何使用它的代码。

如果您没有使用特定的MVVM框架,请从上面的实现中获取想法并将其应用于您的代码!

答案 1 :(得分:0)

MVVM使用命令而不是Click处理程序。所以你应该准备好使用ICommand接口的实现,或者你可以从任何MVVM oriented Framework获得它

如果您想简单易懂,请点击链接how to use commands