WP7: Pass parameter to new page?

前端 未结 5 1123
礼貌的吻别
礼貌的吻别 2020-12-01 07:49

In a Windows Phone 7 Silverlight application I call a new page using

NavigationService.Navigate(new Uri(\"/View/SecondPage.xaml\", UriKind.Relative));


        
相关标签:
5条回答
  • 2020-12-01 08:30

    take a look how I've implemented navigation in PhoneCore Framework: A framework for building of WP7 application. Shortly, I've built my navigation service on top of WP7 navigation. It uses custom page mapping and allows to pass custom parameters to view model automatically.

    0 讨论(0)
  • 2020-12-01 08:41

    You should also look at MVVM pattern and the messenger class.

    Here's some references:

    MVVM Overview

    MVVM Foundation Messenger

    Good SO question on the messenger from MVVM Light

    MVVM Light Blog

    0 讨论(0)
  • 2020-12-01 08:41

    You should save the object to IsolatedStorage.

    Just Serialize it with Json.net library and save the string to IsolatedStorage. On the next page get the string from IsolatedStorage and convert it back to the object you want with the json.net library!

    0 讨论(0)
  • 2020-12-01 08:49

    In his book "Programming Windows Phone 7" (chapter 6, section 3, "Sharing Data Among Pages") Charles Petzold recommends properties in the App class (derived from Application). Every page has access to it via Application.Current. Also interesting is the dictionary PhoneApplicationService.Current.State. It's usefull for tombstoning. The whole chapter maybe interesting for reading.

    0 讨论(0)
  • 2020-12-01 08:49

    Use global variables, make a new class for GlobalVariables:

    public static class GlobalVariables
    {
       public static string my_string = "";
       public static int my_int = -1;
    }
    

    Then you can access the Global Variables class for different pages:

    GlobalVariables.variable_name;
    
    0 讨论(0)
提交回复
热议问题