C# Class MvvmCross.WindowsStore.Views.Suspension.MvxSuspensionManager

MvxSuspensionManager captures global session state to simplify process lifetime management for an application. Note that session state will be automatically cleared under a variety of conditions and should only be used to store information that would be convenient to carry across sessions, but that should be discarded when an application crashes or is upgraded.
Inheritance: IMvxSuspensionManager
Mostrar archivo Open project: MvvmCross/MvvmCross

Public Methods

Method Description
RegisterFrame ( Frame frame, String sessionStateKey ) : void

Registers a Frame instance to allow its navigation history to be saved to and restored from SessionState. Frames should be registered once immediately after creation if they will participate in session state management. Upon registration if state has already been restored for the specified key the navigation history will immediately be restored. Subsequent invocations of RestoreAsync will also restore navigation history.

RestoreAsync ( ) : System.Threading.Tasks.Task

Restores previously saved SessionState. Any Frame instances registered with RegisterFrame will also restore their prior navigation state, which in turn gives their active Page an opportunity restore its state.

SaveAsync ( ) : System.Threading.Tasks.Task

Save the current SessionState. Any Frame instances registered with RegisterFrame will also preserve their current navigation stack, which in turn gives their active Page an opportunity to save its state.

SessionStateForFrame ( Frame frame ) : Object>.Dictionary

Provides storage for session state associated with the specified Frame. Frames that have been previously registered with RegisterFrame have their session state saved and restored automatically as a part of the global SessionState. Frames that are not registered have transient state that can still be useful when restoring pages that have been discarded from the navigation cache.

Apps may choose to rely on LayoutAwarePage to manage page-specific state instead of working with frame session state directly.

UnregisterFrame ( Frame frame ) : void

Disassociates a Frame previously registered by RegisterFrame from SessionState. Any navigation state previously captured will be removed.

Private Methods

Method Description
RestoreFrameNavigationState ( Frame frame ) : void
SaveFrameNavigationState ( Frame frame ) : void

Method Details

RegisterFrame() public method

Registers a Frame instance to allow its navigation history to be saved to and restored from SessionState. Frames should be registered once immediately after creation if they will participate in session state management. Upon registration if state has already been restored for the specified key the navigation history will immediately be restored. Subsequent invocations of RestoreAsync will also restore navigation history.
public RegisterFrame ( Frame frame, String sessionStateKey ) : void
frame Windows.UI.Xaml.Controls.Frame An instance whose navigation history should be managed by ///
sessionStateKey String A unique key into used to /// store navigation-related information.
return void

RestoreAsync() public method

Restores previously saved SessionState. Any Frame instances registered with RegisterFrame will also restore their prior navigation state, which in turn gives their active Page an opportunity restore its state.
public RestoreAsync ( ) : System.Threading.Tasks.Task
return System.Threading.Tasks.Task

SaveAsync() public method

Save the current SessionState. Any Frame instances registered with RegisterFrame will also preserve their current navigation stack, which in turn gives their active Page an opportunity to save its state.
public SaveAsync ( ) : System.Threading.Tasks.Task
return System.Threading.Tasks.Task

SessionStateForFrame() public method

Provides storage for session state associated with the specified Frame. Frames that have been previously registered with RegisterFrame have their session state saved and restored automatically as a part of the global SessionState. Frames that are not registered have transient state that can still be useful when restoring pages that have been discarded from the navigation cache.
Apps may choose to rely on LayoutAwarePage to manage page-specific state instead of working with frame session state directly.
public SessionStateForFrame ( Frame frame ) : Object>.Dictionary
frame Windows.UI.Xaml.Controls.Frame The instance for which session state is desired.
return Object>.Dictionary

UnregisterFrame() public method

Disassociates a Frame previously registered by RegisterFrame from SessionState. Any navigation state previously captured will be removed.
public UnregisterFrame ( Frame frame ) : void
frame Windows.UI.Xaml.Controls.Frame An instance whose navigation history should no longer be /// managed.
return void