how to make all the ApplicationSplitMenuItems be visible in WPF Ribbon?

Nov 1, 2008 at 9:28 AM
Hi All,

If I add ApplicationSplitMenuItems to my ApplicationMenuItem, the Ribbon shows the first sub menu item and gives a small down arrow which when clicked shows the next item(s). Here is a screenshot. How do I make all the sub menu items to be visible without the need of a down arrow If I open the applicationmenu item's sub menu (like in Office 2007) ?

Thanks
Chaks
Nov 3, 2008 at 11:17 PM
anyone?
Coordinator
Nov 4, 2008 at 12:37 AM
Hi Chaks,

Can you send the code sample to repro. 

Thanks, 
Coordinator
Nov 4, 2008 at 12:46 AM
Edited Nov 4, 2008 at 12:48 AM

Hi, I think you're seeing this issue because you only have 2 top-level items.  The ApplicationMenu is set to be only as tall as it takes to display all of the top-level items, so when the sub menu opens, there's not enough space to display all of your children items. 

A work-around you could try would be to set something with enough height in the RibbonApplicationMenu.RecentItemList.  This can even be a blank control, like the Rectangle in the following example:

<Ribbon.ApplicationMenu> 
    <RibbonApplicationMenu Command="..."> 
        <RibbonApplicationMenu.RecentItemList>
            <Rectangle Height="300"/>
        </RibbonApplicationMenu.RecentItemList>
        <RibbonApplicationMenuItem Command="..."/>
        <RibbonApplicationMenuItem Command="...">
            <RibbonApplicationMenuItem Command="..."/>
            <RibbonApplicationMenuItem Command="..."/>
            <RibbonApplicationMenuItem Command="..."/>
        </RibbonApplicationMenuItem Command="..."/>
    </RibbonApplicationMenu> 
</Ribbon.ApplicationMenu> 

Alternatively, you may want to display some recent documents (or whatever makes sense for you scenario) in the RecentItemList.  The RibbonHighlightingList is an ItemsControl which has the same highlighting and selection behavior as in Office, and can be used in place of the Rectangle in the above example to display a list of recent documents.

Thanks!
Samantha

Nov 4, 2008 at 9:41 AM
Thanks Samantha! That worked! :)

I would be happy if you could tell me what is RibbonApplicationSplitMenuItem used for.

Thanks
Nov 4, 2008 at 5:41 PM
Hi all,

This has gone some way to answering a question I had on adding a recent files list to the application menu. From the post above by Samantha I now know how to address the RibbonApplicationMenu.RecentItemList. Is there a quick way to get a list of recent files to bind to this or do we have to implement that functionality ourselves?

Thanks
Coordinator
Nov 4, 2008 at 6:24 PM

chakkaradeep - RibbonApplicationSplitMenuItem can be used just like the regular RibbonApplicationMenuItem, except it adds a "split" functionality to the item which allows the user to either click on the button or mouse over to open the sub-menu.  If you look at Word 2007, you'll see that the Save and Print items are SplitMenuItems whereas Prepare, Send, and Publish are regular MenuItems.

ChangedDaily - No, unfortunately you'll have to implement the recent files functionality yourself (unfortunately with no prior knowledge of the structure of your application, there's no way for us to know which files are considered recent or how to even find these files, so we felt that this was something that application authors would need to implement).  You'll just have to serialize the list of recent items somewhere, and then you can assign a collection of those items to the ItemsSource of the RibbonHighlightingList (if you'd like to use the highlighting list).

Thanks!
Samantha