Search code examples
staticuwpwindows-phonepersistence

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?


Solution

  • 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).