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

标签 wpf events mvvm

我有一个窗口控件,它在向导式环境中包含四个用户控件(屏幕)。 (即始终只能查看一个用户控件)窗口控件具有一系列按钮,这些按钮充当所有用户控件之间的主要导航。

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

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

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

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

是否有更好的方法让用户控件提醒主窗口发生了某些事情?

最佳答案

MVVM 使用命令而不是点击处理程序。所以你应该有一个 ICommand 接口(interface)的实现可以使用,或者你可以从任何 MVVM oriented Framework 获得它。

如果你想保持简单,这里是链接 how to use commands

关于从用户控件到窗口的 WPF MVVM 事件通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17128454/

相关文章:

c# - 如何在 .NET Remoting 中远程处理事件?

wpf - WPF 的 "nice"特性真的那么好吗?还是他们控制欲太强?

wpf - 禁用复选框而不变灰

wpf - 在用户将数据放入文本框之前,在文本框的焦点上显示工具提示

wpf - 如何在wpf中的组标题中显示属性名称

c# - 截取 wpf 弹出窗口的屏幕截图

c# - 集合更改时触发事件(添加或删除)

javascript - 动态创建的元素上的事件绑定(bind)?

mvvm - 项目控件水平放置项目并使子项拉伸(stretch)到堆栈面板宽度

c# - 从工作线程访问 UI 线程集合