how do you hide Quick Access Toolbar in a WPF's Ribbon?
-
1Do you want there to never be a Quick Access Toolbar, or are you looking for show/hide functionality? I'm using the Microsoft Ribbon, and I have no buttons in my QAT by default and nothing shows up there. – Scott Jun 07 '11 at 14:17
-
2I want to permanently hide it. That's probably because you use RibbonWindow and I use normal Windows, because RibbonWindow looks like a piece of s.. in Win XP. – redman Jun 07 '11 at 16:58
-
3Gotchya... I do use RibbonWindow. And I agree... looks terrible in XP. – Scott Jun 07 '11 at 18:32
6 Answers
For Microsoft Ribbon for WPF, you can hide it by using the VisualTreeHelper
. On the Loaded
event handler, just resize the row containing the Quick Access Toolbar to 0 :
private void RibbonLoaded(object sender, RoutedEventArgs e)
{
Grid child = VisualTreeHelper.GetChild((DependencyObject)sender, 0) as Grid;
if (child != null)
{
child.RowDefinitions[0].Height = new GridLength(0);
}
}

- 2,583
- 5
- 25
- 39
-
2Too bad it doesn't fix the designer window, but I can live with it. Beats out the other solutions here – Assimilater Jul 31 '17 at 17:20
-
Your answer doesn't work for me. Btw, in my case the ribbon is inside a grid. – Xam Oct 02 '19 at 17:53
The Quick Access Toolbar is automatically hidden when the Ribbon control is in a RibbonWindow. When it is not, it seems impossible to hide it. I have already worked hours on this issue and was unable to hide it properly. But there is one simple workaround: Place the Ribbon control inside of a Panel and give it a negative top margin so it will slide outside of the Panel. Set the Panel's ClipToBounds property to true and the QAT will be hidden. By the way - there are multiple Ribbon implementations for WPF, even by Microsoft themselves ("Fluent Ribbon" and "Microsoft Ribbon for WPF"), so next time you should mention which one you are talking about.

- 3,285
- 1
- 33
- 41

- 806
- 8
- 20
-
It's WPF Ribbon preview from http://wpf.codeplex.com/wikipage?title=WPF%20Ribbon%20Preview – redman Jul 05 '11 at 11:10
-
2Just a note if you started with a stock RibbonWindow as I did: I changed the window type to Window in both XAML and code-behind, added ClipToBounds="true" to the LayoutRoot grid, and gave the ribbon a top margin of -22. – Sean Mar 07 '12 at 20:13
-
Or if you want it all in the XAML, this works
<ribbon:Ribbon>
<ribbon:Ribbon.Loaded>CollapseQuickAccessToolbar</ribbon:Ribbon.Loaded>
<x:Code>
private void CollapseQuickAccessToolbar(Object sender, RoutedEventArgs e) {
((Grid)VisualTreeHelper.GetChild((DependencyObject)sender, 0)).RowDefinitions[0].Height = new GridLength(0);
}
</x:Code>
</ribbon:Ribbon>

- 4,928
- 4
- 44
- 56
I know this is an old post, but found an easier solution... Add this inside the ribbon :-
<ribbon:Ribbon.QuickAccessToolBar>
<ribbon:RibbonQuickAccessToolBar Visibility="Collapsed"/>
</ribbon:Ribbon.QuickAccessToolBar>

- 41
- 1
-
-
@psubsee2003 : By setting this property, I was able to hide the tool bar. I also set the context menu to "{x:Null}" at ribbon, button group and button levels to disable the context menu. – Dipu Oct 13 '14 at 15:15
Bit late to the party.
<my:Ribbon >
<my:Ribbon.ApplicationMenu >
<my:RibbonApplicationMenu Visibility="Collapsed">
</my:RibbonApplicationMenu>
</my:Ribbon.ApplicationMenu>
This will help to hide the quick bar

- 1
- 2
-
The question was regarding Quick Access Toolbar, not the Application Menu. And no, collapsing Application Menu does not hide the Quick Access Toolbar. – RollerMobster Mar 25 '22 at 12:14