You can only write Style or even a ControlTemplate for various RibbonTab in your App.config, avoiding the need to put this markup in MainWindow . Then simply add all the RibbonTab to the Ribbon in MainWindow.xaml and set the Visibility properties of each, binding to the main view model. You can use the bool properties load in the main view model with a simple bool to Visibility converter.
source share