What is the right approach for multi-page C# WPF desktop program?

How not to codding in only one file with C# WPF?

I’m graduating with a Computer Science degree recently and working as a C# WPF desktop application programmer now. I’m working on my first-ever project from zero on solo, but I am not sure what is the right approach to coding the multi-pages/windows program. In particular, I mean should I apply some pattern(such as MVP, MVVM) or just using some native ways that I ignored to avoid/handle some issues, such as:

  1. how to passing parameters and provoking commands in a class to another class without passing variables between source and target like this:

Passing parameter from a child(WindowB) to parent(WindowA):

public class WindowA {     string msg;     public WindowA() => new WindowB(msg);  } public class WindowB {     public WindowB(string msg) => msg = "Hello"; } 
  1. How to switch the page in a window?

I am taking MVVM Pattern approach now with Caliburn Micro and MVVM Light. But MVVM and most of the frameworks have a steep learning curve on the knowledge itself but also the vague/incomplete documents and tutorials. Is it an overkill option for a small project with only a few pages and not suitable for newbies? If yes, What is the right approach?