Modern UI for WPF- navigation

前端 未结 2 1017
醉梦人生
醉梦人生 2021-01-27 16:29

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

相关标签:
2条回答
  • 2021-01-27 16:59

    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;
        }
    }
    
    0 讨论(0)
  • 2021-01-27 17:00

    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"

    0 讨论(0)
提交回复
热议问题