0

How can I pass parameter beetwen pages? I've tried to add parameters to page uri but it didn't work because I can't use onNavigatedTo event on user control. Please help

user3055279
  • 21
  • 1
  • 2
  • 2
    Questions on SO asking for code assistance must show minimal understanding and/or attempts. What do you have so far? –  Dec 01 '13 at 20:42

2 Answers2

3

You must use OnFragmentNavigation.

public void OnFragmentNavigation(FragmentNavigationEventArgs e)
{
  DoYourStuff(e.Fragment)
}

e.Fragement contains everything past the # in the URI. In example, using

NavigationCommands.GoToPage.Execute("/Pages/CustomerPage.xaml#CustomerID=12345", this);

e.Fragment will be "CustomerID=12345"

corradolab
  • 718
  • 3
  • 16
0

It looks like you are coming from a client browser showing web pages world. With WPF you own the app! you can simply set the value on the new page before or after navigating, pass it in with a constructor or access it from a location accessible from both pages. It sounds like the parameter is an argument to the page so I would pass it in with a constructor in this case:

public class APage : Page
{
    private object myVar; // use whatever Type you want

    public APage
    {
        InitializeComponent();
    }

    public APage(object arg) : this()
    { 
        this.myVar = args;
    }
}
markmnl
  • 11,116
  • 8
  • 73
  • 109