- Saving Current State
- Loading Saved State
- Resetting Initial State
- Serialize the dynamically added children
Contact Support
State Persistence in UWP Docking (SfDockingManager)
18 Feb 20251 minute to read
State persistence is the combined process of serialization
and deserialization
.
SfDockingManager
provides built-in state persistence functionality to save and load at different states and sides. It also provides ResetDockState() method to reset the layout to initial state.
Saving Current State
The current layout can be serialized in XML file and saved in IsolatedStorage
using SaveDockState
method.
private void OnSuspending(object sender, SuspendingEventArgs e)
{
dockingManager.SaveDockState();
var deferral = e.SuspendingOperation.GetDeferral();
//TODO: Save application state and stop any background activity
deferral.Complete();
}
Loading Saved State
The saved layout can be retrieved from IsolatedStorage
, de-serialized
and loaded using LoadDockState
method.
private void Docking_Loaded(object sender, RoutedEventArgs e)
{
dockingManager.LoadDockState();
}
Resetting Initial State
To reset the SfDockingManager
state, call ResetDockState() method of SfDockingManager
instance.
dockingManager.ResetDockState();
Serialize the dynamically added children
By default, SfDockingManager
cannot de-serialize its saved layout properly, when its child collection is modified after DockState is saved.
Since the SfDockingManager
state persistence feature implemented in such a way that the SfDockingManager
matches the child collection of saved layout with current SfDockingManager
layout internally and loads properly when SfDockingManager
children collection remains same, so when any child collection changes dynamically, it results in an improper layout.