There are a number of changes made to our template in order to make it easier to use.
1. AppViewModel base class replaces TemplateViewModel
Rather than separating ViewModel from TemplateViewModel, ViewModel will inherit from AppViewModel. This way properties can be put directly in the base class and the ViewModel class will have less bloat.
2. MenuViewModel, MenuView are removed
The menu and the bound data are moved to MainWindow and AppViewModel respectively. This makes it much easier to add new menu items – just add the commands in your view model and add the menu item in the MainWindow.xaml.
3. AppSettings.tt removed, use AppSettings.cs directly
The previous system was somewhat confusing, it was easy to forget to run custom tool to regenerate this file. The new method for setting application data is to just use the class directly.
4. Configuration Window added
A frequent requirement for applications is for some configuration settings to be hidden. A good place for this is within the menu. While this is now much easier to do due to changes 1 and 2 above, a new basic EditConfiguration window is now available – Views/ConfigurationWindow. The datacontext points to the view model so you just have to hook it up and uncomment the menu item line in MainWindow.xaml:
5. A few more examples
The Config will have an example of a password (using EncryptedString) and the Configuration window will have an example of binding to it (using BindablePasswordBox), use these as an example of how to handle secure passwords.
6. HuLib 1.0.4
The template now uses the latest version of hulib (as of 10/11/2017).