Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Best practice for sharing data between pages

I was wondering what the best practice is for sending variables like 'selectedItem' and so on between pages in UWP? Is it a good idea to just create a static global variable class that every Page knows of?

like image 979
stonecompass Avatar asked Oct 20 '15 13:10

stonecompass


2 Answers

I'm going to sum up Microsofts Best Practice here:

For simple data (like strings):
Use the Frame.Navigate(TypeName, Object) method, where as the second argument should always be a string (even if it allows objects). The second argument can then be extracted from the NavigationEventArgs.Parameter in the Frame.Navigated event handler.

For complex data (anything besides strings):
You may choose from two options here, depending on the size and complexity of your app:

  • Either manage a reference to any complex data inside your App class directly
  • Or keep a reference to them in any kind of Manager class, that is a member of your App class. (e.g. NavigationDataManager).
like image 55
Herdo Avatar answered Nov 09 '22 08:11

Herdo


Well in fact if you use MVVM approach you have all necessary info in ModelView class(es). In case you do not use MVVM just use a singleton class or even a static global class.

like image 27
Sergiu Cojocaru Avatar answered Nov 09 '22 07:11

Sergiu Cojocaru