RPG Paper Maker is a game maker engine including a 3D universe with many 2D sprites and some simplified 3D objects. Pretty close to the RPG Maker series, RPG Paper Maker finally give a way to create RPGs in a totally 3D universe as easier as it is in 2D!
You should not use your view for logic.
For example, you can create a class Project with two static methods :
Load (return a new filled project with his data)
Create (create folders and return the filled project)
And use it into your views. Using a class for project representation give you a local scope for general data.
Thanks! I wanted to change it. I tried to do that kind of idea with the new project dialog:
class Project which is the main model with all the values (here the project name, and location)
class DialogNewProjectControl implementing INotifyPropertyChanged interface. Here are all the functions I can use when I handle an event (the methods you suggested for example). I use NotifyPropertyChanged function into auto property set which is updating the specific view when I'm updating a model property. I deleted the "using System.Windows.Forms" in order to be sure that I'm not using any view items.
class DialogNewProject is the view handling envents and using the controller for any logic.
Is that a great approach now? (I pushed my solution)
You should not use your view for logic. For example, you can create a class Project with two static methods :