public Page2() { InitializeComponent(); Loaded += (sender, e) => { DataContext = new Page2ViewModel(this); }; }解释一下为什么要这样写。因为是使用MVVM的时候,UI与业务逻辑解耦,此时页面之间通讯的时候就很难获得传递的参数。所以我想到把NavigateContext,NavigateService等属性从View层传入到VM层,这样就可以在VM层使用NavigateContext解析URL中的QueryString,使用NavigateService实现导航,并且获取BackStack集合等等操作。这样得到了View的Page的引用就能很容易在VM层处理导航和获取查询字符串了,但是由于我刚开始学习MVVM,不知道这样会不会违背了MVVM的思想,请各位指正
萧十郎