I'm new to MVVM and still learning. I used the article in the link below as an example to implement a simple app with a tabbed workspace that uses two views: "All Customers" and "New Customer".
In the example used by the article above, the shell app (MainWindowViewModel) uses a control panel with two buttons: "View all customers" and "Create New Customer". When the user clicks on these buttons, the respective view is open in the tabbed-workspace of the main shell.
My question now is: if we want to add a button "Create New Customer" on the "All Customers" view and when the user clicks on this button, the "New Customer" view opens as a tabbed workspace in the main shell, what would be the best way of doing this?
Do I need to use a messaging service to broadcast/send to all colleagues a "CreateNewCustomer" message, for example, and have the main shell (MainWindowViewModel) register to "CreateNewCustomer" and then its action would be to instantiate the "New Customer" view in its tabbed workspace?
Or is there a better/simpler/more elegant way of doing this? Please note that I am not using Prism, MVVMLight or any other MVVM framework. I am building my own framework as part of my learning.
Many thanks for taking your time to answer my question(s).