I am building a settings dialog for my application and right now all of the settings correspond with settings on the main view-model, but as I add more view's and view-models some may not.
I need to know what the best practice is for loading the current settings into the settings dialog and then saving the settings to thier corresponding view-models if the user clicks okay.
I will not be using the Properties.Settings.Default system to store settings since I want my application to be as portable as possible and this would store user scoped settings in the directory:
C:\Users\ username \Local Settings\Application Data\ ApplicationName
Instead of in my application's directory.
In case it makes any difference I am using the MVVM Light Toolkit by Laurent Bugnion.
How about implementing that with the Messenger of the toolkit?
When changes are made in the Settings ViewModel you just inform anyone interested:
Messenger.Send<Settings>(changedSettings);
And all Viewmodels which need to know if settings have been changed register to that message:
Messenger.Register<Settings>(this, delegate(Settings changedSettings){loadSettings(changedSettings);});
Have a read here: Mvvm light messenger or check this similar post mvvm-light-how-to-access-property-in-other-view-model
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With