将EventHandler与NavigationService一起使用

时间:2015-05-07 08:49:42

标签: c# wpf mvvm mvvm-light

我编写了一个使用多个视图的WPF GUI。我正在使用MVVM Light Toolkit来实现MVVM模式。

对于导航,我使用this机制,将主框架更改为NavigationWindow,将所有视图更改为Pages。

我在ViewModel构造函数中注入了导航服务,现在我可以在视图之间导航。

但是,我想在导航时在视图之间传输数据。导航窗口中有一个method,可以通过事件处理程序实现这一点。我已经在我的接口中实现了一个方法,但是我在导航的View模型上调用事件处理程序时遇到了问题。

有谁能告诉我如何在我的ViewModel中调用事件处理程序?

谢谢!

编辑:我试着打电话:

    protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
    {

    }

但我得到一个错误说:

  

OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs)':否   找到合适的方法来覆盖

我已经清理了我的解决方案并尝试重建......

有什么想法吗?

EDIT2:

所以我发现在WPF .Net 4.5中,OnNavigatedTo事件消失了。我无法找出为什么以及如何称呼类似的东西。

1 个答案:

答案 0 :(得分:1)

我还没有得到我的问题的答案所以我会尝试回答......

不要这么想......如果需要传输信息要么创建到相关VM的静态链接,要么在app类上留下静态删除。无论哪种方式,当显示视图时,订阅其中一个初始化/加载事件并在预定位置获取信息。