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的地方 在切换就如此循环

posted @   Ben-Zxbin  阅读(1447)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示