or
Hello,
Can you place a setting or property on certain controls to have them ignored during the saving/restoring using the PersistenceFramework?
We use the PersistenceFramework mainly for saving a RadDock layout. Within this RadDock contains a control which contains a RadMenu. The headers of some of the RadMenuItems are dynamic based on what you last clicked. The layout restore is wiping away the current header (or state) and applying the one saved within the PersistenceManager stream. This appears to the user that the UI is in a bad state as it's incorrectly stating what you last clicked.
Can this easily be stopped or ignored, at least on RadMenus?
Thank you,
Patrick
IsolatedStorageProvider isoProvider =
new
IsolatedStorageProvider();
isoProvider.SaveToStorage();
ServiceProvider.RegisterPersistenceProvider<ICustomPropertyProvider>(typeof(RadGridView), new GridViewCustomPropertyProvider());
Application.Current.Exit += (_, __) =>
{
try
{
using (var store = IsolatedStorageFile.GetUserStoreForApplication())
{
// 0.1 MB of isolated storage space is needed
var spaceNeeded = 1024*1024*0.1;
if (store.AvailableFreeSpace <
spaceNeeded
)
{
store.Remove();
}
IsolatedStorageProvider
provider
=
new
IsolatedStorageProvider();
provider.SaveToStorage();
}
}catch(IsolatedStorageException){}
};
radGridView.Loaded += (_, __) =>
{
try
{
using (var store = IsolatedStorageFile.GetUserStoreForApplication())
{
// 0.1 MB of isolated storage space is needed
var spaceNeeded = 1024 * 1024 * 0.3;
if (store.AvailableFreeSpace < spaceNeeded)
{
store.Remove();
}
}
IsolatedStorageProvider provider = new IsolatedStorageProvider();
provider.LoadFromStorage();
}
catch (IsolatedStorageException)
{
}
};
ServiceProvider.RegisterPersistenceProvider<
ICustomPropertyProvider
>(typeof(RadDocking), new DockingCustomPropertyProvider());
Application.Current.Exit += (_, __) =>
{
try
{
using (var store = IsolatedStorageFile.GetUserStoreForApplication())
{
// 0.1 MB of isolated storage space is needed
var spaceNeeded = 1024 * 1024 * 0.1;
if (store.AvailableFreeSpace <
spaceNeeded
)
{
store.Remove();
}
IsolatedStorageProvider
provider
=
new
IsolatedStorageProvider();
provider.SaveToStorage();
}
}
catch (IsolatedStorageException) { }
};
radDocking.Loaded += (_, __) =>
{
try
{
using (var store = IsolatedStorageFile.GetUserStoreForApplication())
{
// 0.1 MB of isolated storage space is needed
var spaceNeeded = 1024 * 1024 * 0.3;
if (store.AvailableFreeSpace < spaceNeeded)
{
store.Remove();
}
}
IsolatedStorageProvider provider = new IsolatedStorageProvider();
provider.LoadFromStorage();
}
catch (IsolatedStorageException)
{
}
};
private
void
btnGuardarConfiguracion_Click(
object
sender, RoutedEventArgs e)
{
IsolatedStorageProvider iso =
new
IsolatedStorageProvider();
iso.SaveToStorage();
}
private
void
btnCargarConfiguracion_Click(
object
sender, RoutedEventArgs e)
{
IsolatedStorageProvider iso =
new
IsolatedStorageProvider();
iso.LoadFromStorage();
}
to save gridsettings to storage and this to load grid settings
IsolatedStorageProvider provider = new IsolatedStorageProvider(); provider.SaveToStorage();
PersistenceManager.SetStorageId(gvWorkAllocation, grid_persistence_key);
IsolatedStorageProvider provider = new IsolatedStorageProvider(); provider.LoadFromStorage(grid_persistence_key);
Every thing is working absolutely fine ,the only problem ,its saving for every single radgrid in the memory,
which takes lot of time .
In my case i am showing user data in different child windows ,once i close one child Window(A) on unloaded
event i am saving the radgridview settings ,and now if I open another ChildWindow(B) and close it ,persistence framework
saves settings for both radgrids on the both window A and B.
can you please tell me any solution to fix this problem ,probably u can provide a function which saves
setting for a specific key .
kind regards