1

I want to implement a Ribbon control (Microsoft or Fluent Ribbon) in my main form in my WPF app. Most of the ribbon controls (more than 95%), grouped in tabs and groups will just open other windows. The ribbon control will contain a lot of buttons (more than 60).

What would be a good approach to follow, in respect to MVVM pattern? A pointer to a little tutorial would be nice, since I am just starting with Caliburn and MVVM.

Thanks!

StepUp
  • 36,391
  • 15
  • 88
  • 148
H Mihail
  • 613
  • 8
  • 18

1 Answers1

1

In my view and I believe one of the most used is the Microsoft one. Tutorial about Microsoft Ribbon

I want to notify about one bag in Microsoft Ribbon.

FluentRibbon is OpenSource, so you can download this library and customize to your needs. And FluentRibbon has the following option(view when you click File in MS Word) which Microsoft library does not have: enter image description here

Both controls are really simple in use and are convenient in use in scope of MVVM, but Fluent Ribbon is not so great at design time building in Visual Studio, but in all other areas is superb.

StepUp
  • 36,391
  • 15
  • 88
  • 148
  • I tend to use Fluent. Being new to MVVM, is it a good practice to just define my ViewModel for the main window with a lot of code to open all the other windows? – H Mihail May 16 '16 at 16:45
  • @HMihail Make a rule one view for one ViewModel. It is okay that you open new Window from ViewModel. but you should open new Window without violating MVVM pattern. http://stackoverflow.com/questions/25845689/opening-new-window-in-mvvm-wpf or http://stackoverflow.com/questions/16652501/open-a-new-window-in-mvvm or http://stackoverflow.com/questions/25845689/opening-new-window-in-mvvm-wpf – StepUp May 16 '16 at 16:53
  • @HMihail eel free to ask any question. If you feel that my reply helps to you, then you can mark my reply as an answer to simplify future search of other people. Please, read this http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – StepUp May 17 '16 at 06:28