C#WPF中Prism的页面传参-------(个人笔记)


1:当打开页面的时候 希望能传参给 第二个窗口
2 :切换页面前 有可能对 1窗口进行改变 需要 2窗口也进行对应的改变
在切换切面的时候进行特定逻辑

1:需要在 两个切换按钮的那个 ViewModel的 Command绑定的地方 准备一个参数
这个参数是用 NavigationParameters 键值对的形式进行传值
string paramValue = "123";
NavigationParameters nParam = new NavigationParameters();
nParam.Add("xxx", paramValue);
_regionManager.RequestNavigate("TabContentRegion", obj.ToString(),nParam);

我们在需要获得这个参数的View的 ViewModel 实现继承一个 INavigationAware 并实现他的接口
IsNavigationTarget(NavigationContext navigationContext):是否能够导航到目标视图( 直接 return true)
OnNavigatedFrom(NavigationContext navigationContext):从哪个地方导航过来的
OnNavigatedTo(NavigationContext navigationContext):导航到哪个地方去

顺序:主 先OnNavigatedTo (传参就可以在这边拿到)=》 OnNavigatedFrom
OnNavigatedTo在这个方法里面拿到
代码: navigationContext.Parameters["xxx"].ToString();//传参代码
第二个页面 从他的主OnNavigatedFrom 到 第二个页面的 OnNavigatedTo的地方 在切换就如此循环


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM