【发布时间】:2013-12-01 20:39:32
【问题描述】:
如何传递参数 beetwen 页面?我尝试将参数添加到页面 uri 但它不起作用,因为我无法在用户控件上使用 onNavigatedTo 事件。 请帮忙
【问题讨论】:
-
关于 SO 请求代码帮助的问题必须表现出最少的理解和/或尝试。到目前为止你有什么?
标签: c# wpf navigation modern-ui
如何传递参数 beetwen 页面?我尝试将参数添加到页面 uri 但它不起作用,因为我无法在用户控件上使用 onNavigatedTo 事件。 请帮忙
【问题讨论】:
标签: c# wpf navigation modern-ui
您必须使用 OnFragmentNavigation。
public void OnFragmentNavigation(FragmentNavigationEventArgs e)
{
DoYourStuff(e.Fragment)
}
e.Fragement 包含 URI 中 # 之后的所有内容。例如,使用
NavigationCommands.GoToPage.Execute("/Pages/CustomerPage.xaml#CustomerID=12345", this);
e.Fragment 将为“CustomerID=12345”
【讨论】:
看起来您来自显示网页世界的客户端浏览器。使用 WPF,您拥有应用程序!您可以在导航之前或之后简单地在新页面上设置值,使用构造函数将其传入或从两个页面都可访问的位置访问它。听起来参数是页面的参数,所以在这种情况下我会使用构造函数将其传递:
public class APage : Page
{
private object myVar; // use whatever Type you want
public APage
{
InitializeComponent();
}
public APage(object arg) : this()
{
this.myVar = args;
}
}
【讨论】: