在导航样式 WPF 应用程序(NavigationWindow,而不是 XBAP)的上下文中:
超链接的 NavigateUri 是否可以包含额外的参数,例如路径数据或查询字符串?例如,有什么方法可以将我的 NavigateUri 设置为/Product.xaml/123
or /Product.xaml?id=123
,并且让我的 Product.xaml 页面能够看到它是使用参数调用的123
?
你可以这样做。看http://www.paulstovell.com/wpf-navigation:
虽然不明显,但是你可以
将查询字符串数据传递到页面,以及
从路径中提取它。例如,
您的超链接可以传递一个值
URI:
<TextBlock>
<Hyperlink NavigateUri="Page2.xaml?Message=Hello">Go to page 2</Hyperlink>
</TextBlock>
当页面加载时,可以
通过提取参数NavigationService.CurrentSource
, 哪个
返回一个 Uri 对象。那么就可以
检查 Uri 以分解
价值观。不过,我强烈推荐
反对这种方法,除非
最可怕的情况。
更好的方法涉及使用
的过载
NavigationService.Navigate 需要
参数的对象。你可以
自己初始化对象,对于
例子:
Customer selectedCustomer = (Customer)listBox.SelectedItem;
this.NavigationService.Navigate(new CustomerDetailsPage(selectedCustomer));
这假设页面构造函数
接收一个 Customer 对象作为
范围。这可以让你通过
页面之间的信息更加丰富,
并且无需解析字符串。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)