Hello,
How can i persist/apply the XamOutlookBar settings? in particular, i want to persist the index of each group (if end user decides to change their order), the visible/collapsed groups and what groups belongs to navigation / overflow area of the control.
Using Persistence Manager does not work as expected, using IProvideCustomObjectPersistence interface and saving the above info, i do not have any method to set index/overflow and navigation items through code.
Thank you in advance,
Michael
Hello redbyron,
I am attaching a sample that is showing you how you could achive storing specific XamOutlookBar settingis in a file inside IsolatedStorage! If you don't want to use IsolatedStorage, you could just use MemoryStream, but it will work only for the current run of the application! If there is other questions, please feel free to share them!
Regards,
Nikola.
Hello Nikola,
i am attaching a modified version of the example...
My issues are the following...
1) The size of the stream
2) It persists the datacontext
3) It does not handle correctly the styles and the data templates
4) Also i bind the header of each group, in a multilingual scenario it will load the persisted header instead of the selected language's caption..
Please run my sample and check,
press save and it will message box the default size...
press load data and press save again and you will see the difference (it saves the two list's in the VM)
also rerun the app, press save and then load.. The icontemplate will be lost....
regards,
Hi Michael,
Some hints that may solve some of your issues:
1. Styles and DataTemplates
In order to save/load data templates and styles, you need to define them in the App.xaml and apply the Identifier attached property. Check out this help topic for more information:
http://help.infragistics.com/NetAdvantage/Silverlight/2011/1/CLR4.0/?page=Persistence_Identifier.html
2. Stream size
I am not sure whether this will atually help but you can go through this form thread:
http://community.infragistics.com/forums/p/48464/293839.aspx
Stefana
Hello Stefana,
i had similar issues with xamgrid http://community.infragistics.com/forums/p/42230/233672.aspx#233672 and by using a persistencegroup that saves each column and the grid with specific options did the trick.
What i really asked was a solution like the one in the xamgrid thread, or even better, i could create a PersistenceSettings object like the following
public class XamOutlookBarPersistenceSettings
{
public List<string> IndexedGroups {get;set;}
public List<string> HiddenGroups {get;set;}
public List<string> OverflowGroups{get;set;}
public List<string> NavigationAreaGroups{get;set;}
and whatever other property i would like to persist
}
and implement the http://community.infragistics.com/forums/t/57171.aspx (IProvideCustomPersistenceInterface)
Then i would apply the saved settings on XamWebOutlookBar.
How could apply these settings with code behind?? i could not find proper methods to call, as NavigationAreaGroups and OverflowAreaGroups are readonly collections...
PS
I have a big LOB application and i already compress the persisted settings.
Imagine that there could be 10 docked windows open in a user workspace with one , two grids each one... Imagine the size of the serialized layout if i did not compressed it...
I have logged a new feature request for this functionality on your behalf. I have sent your feature request directly to our product management team. Our product team chooses new feature requests for development based on popular feedback from our customer base. Infragistics continues to monitor application development for all of our products, so as trends appear in requested features, we can plan accordingly.
We value your input, and our philosophy is to enhance our toolset based on customer feedback. If your feature is chosen for development, you will be notified at that time. Your reference number for this feature request is FR13393.
If you would like to follow up on your feature request at a later point, you may contact Developer Support management via email. Please include the reference number of your feature request in the subject and body of your email message. You can reach Developer Support management through the following email address: dsmanager@infragistics.com
Thank you for your request.
Valerie
this is a bad workaround that i will have to follow if i want to use the XamOutlookBar control and persist it's settings...
Maybe you should implement a XamOutlookBarPersistanceSettings class and use it with IProvideCustomPersistenceInterface in order to support custom persistance of your complex controls...
Thank you
Since these are read only collections there is currently no way to manipulate them programmatically. One way you may be able to reduce the size of the persisted setting is to set the content of each group to null before saving the settings, of course, this mean you would have programmatically reset the content after loading the settings.