Welcome to Pete Brown's 10rem.net

First time here? If you are a developer or are interested in Microsoft tools and technology, please consider subscribing to the latest posts.

You may also be interested in my blog archives, the articles section, or some of my lab projects such as the C64 emulator written in Silverlight.

(hide this)

Announcing: Microsoft Ribbon for WPF RTW

Pete Brown - 02 August 2010

I'm pleased to announce the July release of the Microsoft Ribbon for WPF! This is the RTW release of the Ribbon control!

UPDATE OCTOBER 2010: The latest version of the Ribbon is here.

image

The new ribbon control is compatible with WPF 3.5sp1 and WPF 4. This is a 100% WPF implementation, not a wrapper around native code. That means you get all the great WPF styling capabilities for the new control. All screenshots below were taken from a .NET 4 Client Profile project.

Let's take a look at just a few of the interesting features.

Ribbon Application Project Template

The Ribbon installer includes a new "WPF Ribbon Application" project template for Visual Studio.

image

If you create a new ribbon project and immediately run the resulting application, you'll see a simple starter ribbon UI:

image

The xaml for the default ribbon looks like this:

<ribbon:Ribbon x:Name="Ribbon">

    <ribbon:Ribbon.ApplicationMenu>
        <ribbon:RibbonApplicationMenu SmallImageSource="Images\SmallIcon.png">
            <ribbon:RibbonApplicationMenuItem Header="Hello _Ribbon"
                                              x:Name="MenuItem1"
                                              ImageSource="Images\LargeIcon.png"/>
        </ribbon:RibbonApplicationMenu>
    </ribbon:Ribbon.ApplicationMenu>

    <ribbon:RibbonTab x:Name="HomeTab"
                      Header="Home">
        <ribbon:RibbonGroup x:Name="Group1" 
                            Header="Group1">
            <ribbon:RibbonButton x:Name="Button1"
                                 LargeImageSource="Images\LargeIcon.png"
                                 Label="Button1" />
            <ribbon:RibbonButton x:Name="Button2"
                                 SmallImageSource="Images\SmallIcon.png"
                                 Label="Button2" />
            <ribbon:RibbonButton x:Name="Button3"
                                 SmallImageSource="Images\SmallIcon.png"
                                 Label="Button3" />
            <ribbon:RibbonButton x:Name="Button4"
                                 SmallImageSource="Images\SmallIcon.png"
                                 Label="Button4" />
            
        </ribbon:RibbonGroup>
        
    </ribbon:RibbonTab>
</ribbon:Ribbon>

The window hosting the ribbon derives from the RibbonWindow class. This class, using native Windows interop code, helps handle non-client area drawing operations for things like the Quick Access Toolbar and contextual tab headers. Use of this base window class is entirely optional, unless you want to take advantage of the non-client area operations.

The Ribbon control has all the features you'd expect to find: Quick Access Toolbar, Application Menu, the Auxiliary Pane, enhanced tooltips, keytips for accelerator keys, automatic resizing and layout, tabs, contextual tab group headers, a nice Windows 7 look, and more

Contextual Tab Groups

For example, to add a new RibbonTab, and place it in a Contextual Tab Group (like the table editing tools in MS Word, for example) you would add this XAML to the ribbon:

<ribbon:RibbonTab x:Name="AwesomeTab"
                  ContextualTabGroupHeader="Awesome Tools"
                  Header="Really Awesome">
    <ribbon:RibbonGroup x:Name="Group2"
                        Header="Group2">
        <ribbon:RibbonButton x:Name="Button21"
                             LargeImageSource="Images\LargeIcon.png"
                             Label="Button21" />
    </ribbon:RibbonGroup>

</ribbon:RibbonTab>
<ribbon:Ribbon.ContextualTabGroups>
    <ribbon:RibbonContextualTabGroup Header="Awesome Tools"
                                     Visibility="Visible"
                                     Background="Green" />
</ribbon:Ribbon.ContextualTabGroups>

image

Note the changes to the main window to support the contextual group header.

Quick Access Toolbar

As you'd expect, the Ribbon supports the Quick Access Toolbar (the toolbar up in the window title bar)

<ribbon:Ribbon.QuickAccessToolBar>
    <ribbon:RibbonQuickAccessToolBar>
        <ribbon:RibbonButton x:Name="ButtonQ1"
                             SmallImageSource="Images\SmallIcon.png"
                             Label="ButtonQ1" />
        <ribbon:RibbonButton x:Name="ButtonQ2"
                             SmallImageSource="Images\SmallIcon.png"
                             Label="ButtonQ2" />
        <ribbon:RibbonButton x:Name="ButtonQ3"
                             SmallImageSource="Images\SmallIcon.png"
                             Label="ButtonQ3" />
    </ribbon:RibbonQuickAccessToolBar>
</ribbon:Ribbon.QuickAccessToolBar>

image

The screenshot shows two of the quick access buttons along with a double chevron indicating more buttons are available.

The WPF Ribbon team has done a great job in getting this control built and delivered. It supports the advanced scenarios needed to be a serious ribbon control, and sports a current Windows 7-style UI. I'm glad to see this finally released and available for use in our own applications.

PS: And yes, RibbonButton supports ICommand :)

Related Links

     
posted by Pete Brown on Monday, August 2, 2010
filed under:      

116 comments for “Announcing: Microsoft Ribbon for WPF RTW”

  1. PhilBsays:
    I did notice a new version of the Ribbon being used in WebMatrix and was hoping that a new version was going to be released. Glad to see that it has happened, I look forward to using it.
  2. Rob Relyeasays:
    @PeteBrown-
    Thanks for the great announcemnt post. As you already know, beyond all the great info in MSDN and the Ribbon samples, we plan on following up with more info on the WPF Team blog: http://blogs.msdn.com/wpf

    @GaryHowlett-
    The WPF team is back to planning and working on our vNext. Haven't determined our total budget for work on WPF Toolkit yet. Have many important things to do, finalizing our list of things we think we must and should do.
    Thanks,
    Rob Relyea | http://robrelyea.com/blog | @rrelyea
    WPF Team | http://blogs.msdn.com/wpf
  3. Josh Einsteinsays:
    Yay for ICommand support!

    Is there going to be a build specifically for .NET 4? Because with the WPF Toolkit which was built for .NET 3.5 it causes some annoying problems when you use it in a .NET 4 project since it duplicates things like the Visual State Manager.
  4. Michaelsays:
    Looks 'Really Awesome'! I can't wait to check it out. Is there a generic template available for the WPF ribbon that will give you all of the controls seen in the WPF Text Editor screen shot?
  5. shaggygisays:
    @RobRelyea

    Thanks for update. Hope to see some good walkthroughs on layout of Ribbon and how to add styles in the blog. Also, hope to see some goodness in the WPF Toolkit.... e.g DockManager?

    Thanks again.
  6. Saied Khanahmadisays:
    @Dorde Torbica - We heard people's feedback on our licensing approach and addressed it in this release. The Office Fluent UI Licensing is not required for this release.

    @Gary Howlett - We'll need to look at resources, schedule, and evaluate the areas that we need to invest in. We'll need to weigh that in along with future planning for the next version of the WPF framework.

    @Josh Einstein - This is something we need to investigate. It is likely that we'll skip a .NET 4 version and try to fold it it into the next version of the WPF framework. This gives Ribbon more time to marinate in the community and it will allow us more time to address a broader set of customer scenarios. It's a delicate balance between resources, quality, features, and schedule that's driven mainly by customer demand.

    - Saied Khanahmadi
  7. Saied Khanahmadisays:
    @Michael - The text editor is built using generic Ribbon templates. You can find the sources for that sample application by installing the "Microsoft Ribbon for WPF Source and Samples.msi" available on the MS Downloads page.

    Thanks,
    Saied Khanahmadi
  8. shaggygisays:
    I'm having refresh updates. Sometimes when I dock the Ribbon Window to maximize using the Windows 7 move cursor to top of screen feature, the Title bar is black. I have to minimize and then click the maximize button to get it to view properly. Also when I run the app, it will sometimes cover my app in black or other colors. I have to resize or move the window around to get it to update. Anyone seen this yet?
  9. Petesays:
    @shaggygi

    Two questions:

    1. Do you have multiple monitors?
    2. Do you have multiple gpus (video cards)?

    @Anon

    Not sure about your specific dev situation, but you can use VS2010 and target older versions of .NET. You'll find the WPF design surface is MUCH nicer than what we had in VS2008. BTW, why all the secrecy? It's not like I'll hunt you down and send the cyber police after you ;)

    Pete
  10. AnonGuysays:
    Ribbon Controls are cheaper than Visual Studio 2010, and work in my IDE. The WPF design surface isn't enough. I've used the trial, so the reason I don't have VS2010 is because I don't need it and it doesn't have anything in it that would revolutionize the way I do things. Visual Studio 2008 is a .NET 3.5 IDE, so I was assuming the Designer Support had extended to it. But it's Microsoft. I forgot that last version ceases to exist when this version RTMs.

    Not saying there aren't benefits, those that it does bring simply don't mean that much for me to plop down the cash to get upgrade (money doesn't grow on trees, etc.).

    I post Anonymously because I got tired of keeping track of where I put my information on the internet, and I use an Exchange mailbox and don't have the desire to manage multiple email addresses.

    Maybe in the near future I'll set up an alias, that way if I start getting spammed I can just turn it off.
  11. Saied Khanahmadisays:
    @AnonGuy - I understand where you're coming from. This is an out-of-band release and our intention was to get the Ribbon into the community's hands so people can try it out and give us feedback. We decided to narrow our design-time scenarios and instead focus our efforts towards the runtime binaries, which is really where most of the meat for this release is. Consequently, we decided not to include design-time work for Visual Studio 2008 and Blend 3.

    If you look at the forums, majority of requests fell into four categories, better quality, more features, laxer licensing guidelines, and quicker release cycles. These are exactly what we focused on. However, if design-time support for Visual Studio 2008 is a frequent ask, then it's certainly something we'll consider for a future release.

    It's not Microsoft policy to forget about the last version when a new version RTM's. New versions are just a consequence of how quickly the market and customer demand can move in this space. We do sometimes overlook that rule depending on customer demand, as we did for this release. This is mainly why this Ribbon release targets .NET 3.5 SP1 and not .NET 4.

    This is great feedback, it gives us better insight on how we can improve our products. Thank you for trying out our Ribbon.

    Regards,
    Saied Khanahmadi
  12. shaggygisays:
    @Pete

    My problem was observed while using multi-monitors on dev box. I have one video card for both monitors... one set for 1024x768 and not sure about the other ). Is there a trick to fix or do I not worry and expect to run correctly once deployed in production? Would I get the same error if another multi-monitor machine uses the deployed app?

    Thanks again.
  13. Bobsays:
    Good. Useful short term transition to have .Net 3.5sp1 but I shouldn't worry about expending effort on VS2008/Blend 3 so long as VS2010 express is supported.

    Can you say anything about a future Silverlight 4/5 version?
  14. Petesays:
    @shaggygi

    If you have a moment, can you follow the steps in this article: http://support.microsoft.com/kb/963021 and send me the dxdiag log (pete -dot- brown -at- microsoft.com)

    Thanks.

    Pete
  15. Petesays:
    @Bob

    No news on a Silverlight version yet. However, please visit silverlight.mswish.net and either add a feature request or vote up an existing one. The team takes much of their direction from that list.

    Pete
  16. Jamiesays:
    I would love to see the ribbon control as a component in vb net. It's quite expensive to have to buy them from 3rd party developers who often sell it as a package with royalties or subscription renewals. If it really is expected that developers integrate this to their projects and Microsoft wants it to become mainstream for users then making it available for developers is the only way for that to happen.

  17. Bryansays:
    It seems to me that it would have been better to target .net 4, especially since you guys appear to have targeted VS 2010, or at least neglected VS 2008. Now that .net 4 is out in the wild I'd hazard to guess that most new applications would be targeting .net 4 unless it's expected that too many users are using XP sp2 or earlier and are unwilling or unable to update to sp3 for some unfathomable reason. I know of a couple of people who are stubbornly holding on to Windows 2000 and one person still using Win '98 due to fear that a newer version of Windows will break some old app that they like and for which a newer version isn't available but I sincerely hope that folks like that are statistical anomalies.
  18. Mark Nashsays:
    HI

    Love the new ribbon control. Pretty easy to use, and looks slick.

    One question. Is it possible to pin a a ribbon button to the right hand end of a ribbon?

    Thanks


    Mark
  19. Saied Khanahmadisays:
    @Jamie - Both Ribbon and WPF support VB.NET. Our design-time binaries also have support for VB.NET templates. Are you having specific troubles?

    @Florian - We aimed for parity with the Win7 Ribbon, so the backstage view was not in our feature list. We currently have no particular plans to add it in. I will make a note of this, and if it starts to be a common ask then we can try to accomodate for it in a future release.

    @Bryan - We targeted .NET 3.5 SP1 because of customer demand. We also aimed for forward compatability. So we optimized our design to allow Ribbon to work well inside .NET 4 applications as well. WebMatrix Beta (http://www.microsoft.com/web/webmatrix/) is a good example of this. So you're not limited to a single version.

    @Mark Nash - It's possible but highly recommended against. The nature of the Ribbon control-layouts, orientation, and resizing logic is optimized for having it docked horizontally to the top of your application. You would get a poor experience if it's docked to the left or right or even to the bottom. It also wouldn't make sense when it comes to chrome integration.

    @shaggygi - This release has a number of extensibility points that allows you to colorize and theme your Ribbon. Play around with the burshes on the Ribbon class to see if you get the results you're looking for, some of these include, Background, MouseOverBorderBrush, PressedBorderBrush, etc. I'm not aware of any effort to update the themes in the WPF Toolkit at the moment.

    Thanks,
    Saied Khanahmadi
  20. Martinsays:
    Thanks for the info.

    Can someone tell me how to activate a contextual tab? In CTP there was an property "IsActive" (or IsActivated, don't remember exactly) on the contextual tab.. does anyone know? Or where can I find a more detailed example from MS Ribbon?

    Thanks in advance

    Martin
  21. Martinsays:
    @Saied: There are no plans to add backstage view like in office 2010? I don't know how the next Office Version will look like, but if it contains backstage view there is (and sure will be) a common ask.
    We're very disappointed that MS didn't add backstage view functionality in this final release.

    If you can give us a workaround how to create a office 2010 theme with backstage view we would really appreciate that

    PS: Thanks for adding AutomatedProperties!

    Martin
  22. Saied Khanahmadisays:
    @Martin - The way to do that is to set the RibbonContextualTabGroup.Visibility property to Visibility.Visible. We have a comprehensive sample on the MSDownloads page. Please install "Microsoft Ribbon for WPF Source and Samples.msi", and look through the sources, there's both MVVM and non-MVVM samples that demo the RibbonContextualTabGroup.

    @Martin - Our goal for this release was to address an enormous number of complaints regarding our licensing approach. We worked closely with the Office team to position our release in a way so that we no longer have to enforce the guidelines. The Office 2010 Fluent UI guidelines have not yet been released and implementing the backstage view, a feature unique to Office 2010, would not contribute to our goals. Our goal is to better align the two teams so we can address these concerns for future releases. This release is an RTW, but not the last of the Ribbon. We plan to move it into the WPF framework and better align with Office in order to stay in sync across both feature-set and schedule.

    Thanks,
    Saied Khanahmadi
  23. Remcosays:
    Maybe not the question to ask here, but did something change between the toolkit and RTW regarding embedded resources/themes? Its seems that only Win7 theme(default) is available and trying to change to Office 2007 style (<ResourceDictionary Source="/RibbonControlsLibrary;component/Themes/Office2007Blue.xaml") results in an Unhandled Exception to locate the resource.

    Just wondering, (but a design-time prop to change style would be nice)

    Regards,
    Remco
  24. rafalbsays:
    I cannot access the Tabs collection in the ribbon programmaticaly in this new release and cannot set the SelectedTab - they are internal now, so e.g. I can't implement the functionality of selecting a contextual tab automatically when it is being activated. How could it be implemented using the new release?

    Also, the lack of any Office theme is a large disadvantage in my opinion - in current themes the ribbon is not well integrated with the window, and the application button is very misleading (small, rectangular, located in a strange spot, with no icon) and does not resemble Office at all.
  25. Martinsays:
    Did anyone try running two Ribbon Windows in same process?
    Like MS Office Word - if you open two sheets, there's only one process but two word instances (that use the same process)

    When I run two applications (one process), all Tab Headers are invisible and window title is not shown either.
    The buttons are as expected and contextual tab title in title bar is shown. Please see example in website url
  26. Martinsays:
    Hi Pete

    Thanks for your answer. We're working on a sample to reproduce the issue.

    With old ribbon title and headers worked fine. Do you know which changes were made in this part?

    Thanks, Martin
  27. Anisays:
    What about RibbonCommand, RibbonTab Selected Event and RibbonQuickAccessToolBar.Placement?

    <r:RibbonCommand x:Key="ListContactsCommand"
    LabelTitle="List"
    ToolTipTitle="List Providers"
    ToolTipDescription="Display providers list."
    SmallImageSource="images/RibbonBar/Definitions-48x48.png"
    LargeImageSource="images/RibbonBar/Definitions-48x48.png" />
  28. Duncansays:
    Great job on the ribbon - important to have the hot keys as well as the new features such as context tab.

    However, I have been using the previous RibbonControl from Microsoft which worked in XBAP and in low trust. The new control appears to work in XBAP but must be trusted. (using 3.5sp1 VS 2010)

    I understand RibbonWindow must be full trust, but was hoping the plain ribbon control would work in XBAP under low trust, however it does not. I thought of using either the old or new ribbon control in the same application (depending on the trust level), but this is not possible due to the same name.

    P.S. VS 2010 is suberb for WPF development.


  29. Nostalgiasays:
    The Microsoft Ribbon is absolutely great, but I've been running into some design issues. I would like for my ribbon to include an application menu followed by a dockpanel of ribbon button groups. In the case of the ribbon button groups, the ribbon tab accomplishes this very nicely, but the application I'm working on has no need for a tab. Can you push me in the right direction on making the tab invisible without the ribbon buttons becoming invisible along with it?
  30. Windows XP usersays:
    @Pete: The RibbonWindow is not using visual themes at all. The application window’s title bar looks like from Windows 98… or like from console window.
  31. Martinsays:
    Hi there

    The Ribbon Window looks really weird in XP.

    But I've got another problem (Win7, .net 4). Sometimes some part of my ribbon window get black and if I resize the window, screen is shown as usual. Does someone have a similar problem?

    Martin
  32. Martinsays:
    .. seems to be an Windows 7 Aero bug... Without Aero theme - it's working as usual.

    ... But... with old Ribbon CTP it worked with Win7 Aero..

    What can I do to run new MS Ribbon with Win 7 Aero?
  33. Franksays:
    The project template for visual basic seems to be corrupt.
    There is only a project template for C# after installing the .msi-File.
    Reason:
    Name of C#-Template in .msi = vsWPFRibbonWindow.vstemplate
    Name of VB-Template in .msi = vsWPFRibbonWindow.vstemp
    It was a long way to find that. Could you please correct that issue in the installer?
    Apart from that: Great Work!
  34. Petesays:
    @Martin

    Same questions I asked Shaggygi earlier in the comments:

    1. Do you have multiple monitors?
    2. Do you have multiple gpus (video cards)?

    @Frank

    Thanks for looking into the cause. I'll let folks know

    Pete
  35. Martinsays:
    @Pete: I could solve the problem with disabling Hardware Acceleration
    This is described point 6, http://blogs.msdn.com/b/jgoldb/archive/2007/10/10/performance-improvements-in-wpf-in-net-3-5-3-0-sp1.aspx (please keep in mind that window has to be loaded before this code can be invoked)

    It's not the way I wanna do it (gpu is for rendering graphical stuff and cpu should handle the calculations and this way I put the rendering to the cpu). That makes my application even slower.. but there's no much speed difference and it works on all (customer) computers... I hope this problem will be fixed soon my MS on WPF or MS Ribbon.
    Thanks

    Martin
  36. Erichsays:
    I try to use RibbonWindow in Word 2007 addin(dev env: Word2007 without sp + VS2010 + .Net 3.5 + VSTO2010). The Ribbon preview version works fine, but this version casues Word crash when and only when closing Word. Any suggestion?

    Thanks.
  37. Jason Mauersays:
    I am also seeing black refresh issues with the WPF Ribbon control as others have mentioned in this thread. This is with a very basic window... not much more on it than the ribbon control itself. I am running a single monitor via a single graphics card (ATI Radeon HD 5700 series) on Windows 7. Graphics driver is up to date.

    It seems to occur only when resizing with the mouse, and mainly when the resizing is done (either from stopping to move the mouse, or releasing the button). Smells like an underlying problem with the order of events being handled in mouse move+resize.
  38. Petesays:
    @Jason

    Thanks. I wasn't aware that it happened in single display configurations as well. I'll pass that along in case the team isn't aware.

    @All

    The WPF Ribbon team is aware of the issue and is working on a fix for the black bars. I'll update here when there's more to say.
  39. Petesays:
    @Erich

    I sent you some repro instructions in a separate email.

    @Frank. We could not reproduce the issue. The MSI doesn't handle installing the templates; not sure how you identified the file names. You didn't leave any contact info. If you read this, please email me pete.brown -at- microsoft dot com so I can dig deeper.
  40. Erichsays:
    @Pete

    Thanks. I got your email and followed your instruction, I can repro the crash on two env: Windows7/Office 2010 x86 and amd64. The thrown exception is AppDomainUnloadedException {try to access unloaded domain}. Please see the detail info in my reply email.
  41. Kevinsays:
    I have been using older release of the Ribbons Library with the look of Office 2007 Black Theme. With the application menu circular and part of the window frame it is a big part of the look of my application. With this new version it sounds like this look is impossible which is very disappointing. Basically I would have to downgrade the look of my application to get rid of some pretty bad bugs that linger in the old version. Is there any chance this will change?
  42. Saied Khanahmadisays:
    @Kevin - It should be easy to re-template the Ribbon to give you a different look and feel. By 'look of my application', are you only referring to the circular application menu?

    @Jason Mauer - We're aware of this, it's a bad bug that we're trying to address. This will be fixed in the next release.

    @Frank - Thanks for bringing this to our attention. We'll look into this and fix it in the next release.

    @Marcelo - We got rid of RibbonCommand and we now use ICommand instead. This is much more WPF in nature, it's MVVM friendly, and it allows you to work with pre-existing commands as well as application commands. This design also gave us the ability to implement preview commands.

    Saied Khanahmadi
  43. Antonio Budanosays:
    I am trying on using this ribbon with PRISM, having each module adding a RibbonTab to the ribbon but I am having some difficulty. I tried writing a RibbonAdapter to add RibbonTab to the Ribbon.Items collection but I get an exception like "Index out of range exception", it is a general exception from Prism.
    Is there anybody that tried this scenario?
  44. Chatchaisays:
    Can you please give me some guideline how can I use this Ribbon in my existing WPF projects. We are looking for the Rinbbon for the existing application and we just reviewed the Ribbon control from Office Fluent UI Licensing which we can add as a control. But for this Ribbon for WPF, it seem we have to create the project from Ribbon project template. How can I use this with my existing WPF project? Please suggested the way to implement.

    Thanks,
  45. Petesays:
    The black bars/repaint issue is being fixed. Expect to see an update on that soon.

    Not sure about InRibbonGalleries. I'll check with the team, but they generally don't pre-announce features.

    Pete
  46. Andysays:
    Sorry for my irony but I'l little tired. After few hours of reasearch it generally works. But there are some things which I don't understand

    I will be more specific:
    1. After installation I fired VS EXpress 2010 and nothing apears in toolbox and there is no 'ribbon template' in New Project menu (I coudn't fix it at all and don't know what to do)

    2. I add reference to RibbonConrolsLibrary to my sample project and when to try write in my code something like this:
    using RibbonControlsLibrary
    standard compilator's error message apears:
    "The type or namespace name 'RibbonControlsLibrary' could not be found (are you missing a using directive or an assembly reference?"
    But it is OK because I shoud use Microsoft.Windows.Controls.Ribbon instead !

    3.Next I added manualy Ribbon controls to the toolbox and it looks fine now I'm able to add these controls to the form in designer mode. But in XAML all 'ribbon' controls are prefixed by 'my:' e.g. <my:RibbonComboBox>, <my:RibbonCheckBox.../> etc. I really work hard to understand WPF but I'm far from perfection because I cannot realize what "my:" mean and where it is defined?
  47. Dick Bowmansays:
    Is the WPF Ribbon useable from Visual Studio Express?

    I have both VB2010 and VC#2010 installed (Windows 7 64-bit).

    After installing WPF Ribbon nothing seems to have changed - I do not see "WPF Ribbon Application" under "New Project" in either VB or VC#.
  48. Andysays:
    Dick, It works however you must add controls to the toolbox manually: right click on toolbox, click on "Choose item", navigate for WPF Components tab and add check all assamblies/components begining with "Ribbon...." .

  49. Stephansays:
    How can I view the controls that are behind a second ribbontab.
    I have installed VS2010 and also Blend4 and the WPF Ribbon.
    the new WPF ribbon application template opens just fine with the home tab and the pre-created 4 buttons.
    When I add additional tabs they show fine, but I can't get them selected so I can see the ribbongroups and buttons "in" them.
    I can manage them fine in the xaml code but would like to be able to select and edit these buttons/controls via the IDE as well.
    Is there something I am overlooking or is it really only possible to visually edit controls in the first tab of the ribbon (and not any further tab nor the application tab)?
    It's the same behavior in VS2010 and Blend4.

    (and this is a single screen win7-64 notebook I am currently working on)
  50. jussays:
    @ Pete: "The black bars/repaint issue is being fixed. Expect to see an update on that soon."
    Do you have an ETA for this? We have a release in a few weeks and it would be great to have this fix before that.

    Thanks!


  51. Kevinsays:
    We have decided to upgrade to the new version, and I would like to style the ribbon as close to the Black 2007 theme from the old version as possible. Is there a way for me to get access to that theme?
  52. Igal Kroytersays:
    hi,

    I have a UI which incorporates ribbon tab. When I invoke the show method from another thread (utilizing the invoke method) the headers' text disappears.

    Application.Current.Dispatcher.Invoke(DispatcherPriority.SystemIdle, (ThreadStart)delegate
    {
    if (view==null)
    return;
    view.Show();
    });

    What might be the problem?
  53. Richardsays:
    Can't get it to work at all, I get no WPF Ribbon Application template in new project dialog. If i try to add a reference to an existing project and create a ribbon I just get

    Could not load file or assembly 'RibbonControlsLibrary, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

    any ideas?

    Richard

  54. Stephansays:
    How can I enable this extra feature which was called "hasDialogLauncher" in the "old" office ribbon. It enabled a little arrow icon in the lower right corner of a RibbonGroup that would open an extra dialog (e.g. the 'Font' ribbongroup in Word2007 has this. there seems to be no hasDialogLauncher property anymore for RibbonGroup
  55. Filemansays:
    I've same problem of Antonio Budano "I am trying on using this ribbon with PRISM, having each module adding a RibbonTab to the ribbon but I am having some difficulty. I tried writing a RibbonAdapter to add RibbonTab to the Ribbon.Items collection but I get an exception like "Index out of range exception", it is a general exception from Prism.
    Is there anybody that tried this scenario?"
  56. Shimmysays:
    I tried to move to the next version (4.0) but unfortunately I have to apply to many changes to the code and I have to rethink everything after the effort.
    I guess the new pack will be useful for new upcoming projects, NOT for immigrants of the previous version.
    (They removed the RibbonCommand, and many other core changes, which might be very good, but take some time to implement and make the project getting back to work.
  57. Umit YILDIZsays:
    Microsoft Ribbon for WPF RTW plug-in installed. However, something caught my attention from the toolbox. Always repeated in the list of controls. Please fix this problem.

    http://img839.imageshack.us/img839/6162/ribbonrepeattoolbox.jpg
  58. Martinsays:
    What are the differences between v4 and v3.5? I tested it and haven't found any changes... can anyone reproduce the black window bug with v4? Me, I can't

    When I installed v3.5 there was the Microsoft.Windows.Shell.dll in the installation directory of the ribbon. In v4.0 there was only Ribbon dll. When loading on a different computer it throws an exception and if I add the Shell.dll from 3.5 to the output directory again it works again... My assumption is that the Shell.dll is installed to GAC and that's why it works on dev machine and on test machine not. Maybe this helps someone.
  59. Martinsays:
    I found a bug (for me it's a bug... you can call it strange behaviour ;) )

    If the context sensitive tab title (the one in the Window title bar, not the tab label) contains spaces, the ribbon is not shown as expected (it crashes in my application). Removing the space in the tab title and it works...

    has anyone a workaround for this?
  60. Patrick Finnigansays:
    @Shimmy - Yes, moving from the Ribbon CTP release to the Ribbon RTW does require some significant changes to your app. Between CTP and the final release we made some significant design changes, additions of new controls, and bug fixes. Moving to the final release of Ribbon requires work but it's a much better, more polished release than the CTP with compelling new features as well.

    @Umit - Are you having this problem with the October 2010 release? You can try right-clicking in the VS Toolbox and choosing "Reset Toolbox", which should clean up the duplicate items. If you have repro steps, please file a bug on Connect for us (http://connect.microsoft.com/WPF). Thanks!

    @Martin - The July 2010 RTW release of Ribbon that only included a v3.5 RibbonControlsLibrary.dll. In the October 2010 release, we added a v4.0 RibbonControlsLibrary.dll as well as fixed customer-reported bugs and some fit-and-finish issues. The black window bug was fixed for both v3.5 and v4.0 RibbonControlsLibrary.dll, so you only have to move to the October 2010 release, not necessarily to .NET 4.0, to get this fix. At this point, the major advantage to using v4.0 RibbonControlsLibrary.dll is that you get ClearType rendering for cleaner, crisper text. Refer to this post from the WPF Team Blog for a complete description of the October 2010 Ribbon release: http://blogs.msdn.com/b/wpf/archive/2010/10/21/update-microsoft-ribbon-for-wpf-october-2010.aspx

    The Ribbon MSI installs Microsoft.Windows.Shell.dll to the v3.5 folder since it is a v3.5 DLL; there is no duplicate copy in the v4.0 folder. This should be okay since Ribbon apps must reference Microsoft.Windows.Shell.dll and thust must include them in their installation. This is a loose DLL and is not GAC'd, so like RibbonControlsLibrary.dll it should be present in the working directory of your app EXE so that the .NET DLL-loading mechanism finds it.

    @Vishal - The RibbonWindow ships with three templates as of the October 2010 release - Classic, Aero Basic, and Aero with glass. On XP's Luna theme, we fall back to displaying the Classic look for the RibbonWindow. It should be fairly easy to retemplate RibbonWindow to achieve the native XP look - use our RibbonWindow templates in the Ribbon Source and Samples MSI (http://www.microsoft.com/downloads/en/details.aspx?FamilyID=2bfc3187-74aa-4154-a670-76ef8bc2a0b4&displaylang=en) as an example. If we get feedback from several customers that the Luna theme is a top request, we will definitely consider including that for our next release.
  61. Patrick Finnigansays:
    @Richard - Try deleting your project reference to RibbonControlsLibrary.dll and then adding a new one. When you build, VS should place RibbonControlsLibrary.dll in the output folder. It needs to be present in the DLL-loading path at runtime, so deploy it alongside your app EXE.

    @Vega - Yes, as Pete pointed out in his post on the October 2010 Ribbon release (http://10rem.net/blog/2010/10/22/wpf-ribbon-october-release), the Ribbon MSI now installs the design-time experience for VS express SKUs (Visual C# Express & Visual Basic Express).

    @Martin - For the RibbonContextualTabGroup issue you're having where a title contains spaces, I cannot repro the crash. This issue probably only repros under certain conditions. Could you please file a Connect bug (http://connect.microsoft.com/WPF) with repro steps or a repro app so that we can fix the issue for you and other customers who are hitting this?

    @Kevin - Getting the Office Black/Blue/Silver skins requires some work. Out of the box, the WPF Ribbon supports Windows themes (Classic, Aero Basic, Aero with Glass) and seeks to match the behavior of the Win7 Ribbon as closely as possible (compare to MSPaint on Win7 as an example). Using some convenience APIs on Ribbon, it is easy to reskin the Ribbon (http://blogs.msdn.com/b/wpf/archive/2010/10/21/wpf-ribbon-october-2010-update-details.aspx). Retemplating RibbonWindow to change the look of the title bar etc. is more involved. We'll blog an example of how to do this soon.
  62. Vishalsays:
    @Patrick - How do I add a new theme without modifying the RibbonControlLibrary Project? If I add "luna.normalcolor.xaml" to RibbonControlLibrary project then Ribbon picks up the luna theme but If I add "luna.normalcolor.xaml" to the project where RibbonControlLibrary is referred then it doesn't pick up the luna theme.
  63. Igal Kroytersays:
    Vishal,

    I have added the ExpressionDark.xaml as follows:
    1) add the xaml to your project
    2) add the following to the resources of the ribbon
    <r:RibbonWindow.Resources>
    <ResourceDictionary>
    <ResourceDictionary.MergedDictionaries>
    <ResourceDictionary Source="ExpressionDark.xaml"/>
    </ResourceDictionary.MergedDictionaries>
    add here some more dicrionary stuff...
    </ResourceDictionary>
    ----
    </r:RibbonWindow.Resources>



  64. Kevinsays:
    @Patrick Thanks for the update. Is there any news on the Title Bar "BlackOut" issue? Thats probably the biggest show stopper for the upgrade for me. MySelf and most my users use 2 monitor setups, and the title bar like mentioned in other posts above will go black and the Ribbon Itself will freeze up (can fix my switching tabs). Pete mentioned it was getting addressed, was wondering if you guys had any kind of time frame on another release.

    Thanks again.

    Kevin
  65. Martinsays:
    Hi there
    I'm back on the old ribbon library. The new one is not usable in our project.

    Pros/cons of the new library:
    + for the new one: the black window issue seems solved

    - if you have a Contextual Tab with spaces in ContextualTabGroupHeader and a Tab Header named "Toolbar", it won't work. If you add spaces to the tab header like " Toolbar " the contextualTabGroup works with spaces. Seems that Toolbar is a reserved word since new version.
    - You can set the Visibility property on contextual tab groups in Code behind if you build the whole ribbon in code behind. If you use clean MVVM and bind own ViewModels to the view, you can't set the visiblity property - ok, you can but it destroys the layout. (we're using HierarchicalDataTemplates and Style setters and so we can bind the tabs and contextualtabgroups to the Ribbon.)

    I'm afraid I don't have the time to build a sample project for you to review this errors. If you can't reproduce them please contact me

    Martin
  66. Paul Doughertysays:
    XBAP version of the RibbonWindow (RibbonBrowser) has a Deployment problem and will not start (.NET V4.0). The RibbonWindow.exe (V4.0) works just fine.

    ERROR SUMMARY
    * An exception occurred while downloading the application. Following failure messages were detected:
    + Reference in the manifest does not match the identity of the downloaded assembly RibbonWindowSample.exe.

    This occurs after a Publish. It works fine if started from debug (F5) when the RibbonBrowser is marked as startup app.

    My system is Windows Server 2008 R2 64-bit., VS2010 Ultimate (MSDN). I used v4.0 on this box.

    I got the same results with VS2008 on Vista 32-bit using the v3.5 DLLs. I tried it on VS2008 first but the single SLN file provided with the project appears to have been generated with VS2010, so I had to use separate .SLN files for EXE and XBAP. I thought the deployment failure might related to my not using the single SLN file so I moved over the server box

    --Paul


  67. Martinsays:
    Hi there

    I get crazy. Some days ago we reverted to July Release of Ribbon, and everything worked (as described 2 posts above).
    Now we build the ribbon dynamically and want to clear the tabs at the end, but then the known bug is thrown (http://blogs.msdn.com/b/wpf/archive/2010/10/21/wpf-ribbon-october-2010-update-details.aspx - IndexOutofRange Exception would pop when removing a Tab from an Observable Collection.)

    When updating to October 2010 release of ribbon, the tabs can be removed, but the Visibility property of the ContextualTabGroups cannot be bound.

    What can I do? Is there a workaround for the IndexOutOfRange - bug? How can we remove all tabs from ribbon without updating to the newest ribbon library?

    Is there an update in the next two week to fix the Visibility-Bug that worked in July2010 release and doesn't work in the newest version?

    Thanks

    Martin
  68. Yannsays:
    Hi Pete,

    I'd love to know the answer to Lixin's question "What's the difference or relationship between this one and the Fluent Ribbon Control Suite?". Here's the link: http://fluent.codeplex.com/

    I wish questions wouldn't get ignored, even if it's to say "I don't know thw answer".

    Yann
  69. Petesays:
    @Yann

    Sorry, thought that was obvious. :) The Fluent Ribbon Control Suite was created outside of Microsoft and has community contributions. It is licensed under the MsPl license.

    I haven't used it, so I can't speak to its quality or where the API differs. Looks pretty good, though.

    If you want the Office 2010 look as opposed to the Windows 7 look, it will likely be easier to use the Fluent Ribbon Control Suite rather than our Ribbon Control, at least at the moment.

    Our Ribbon control started in the WPF Toolkit (around the same time - 2009) and evolved from there.

    Pete
  70. Ayyahsays:
    Hello

    Just i want to ask, about the Ribbon, I added it into a User Control, that has many controls, i gave the Ribbon hte First row, it appears as a white block without tabes or groups?

    any help will be appriciated

    thanks
  71. Lynn Johnsonsays:
    Pete,

    It was nice for Microsoft to release the ribbon for WPF. There have been a lot of comments from developers about things in the Toolkit that are good to have for developing WPF. One of the things that I have seen numerous comments about is the Charting Control which was in the Toolkit for version 3.5 WPF, but is MIA in version 4. I have seen comments posted to you and Scott Gu asking about whether this is going to be in WPF and no answers. What is this reticence about about? We are grown men - you only have to say "it isn't going to happen" and we will accept it - just answer the question.

    Lynn Johnson
    Tulsa
  72. Maruatasays:
    It's a nice post. After deploying the application, I guess we still need to take Fluent Licensing.

    What about applying themes or style?

    If you can add those, I believe it will be very useful...

    Thanks.. Thumb up (Y)
  73. Cal Schrotenboersays:
    We have a WPF application based on .NET Framework 4.0. We have considered upgrading to .NET 4.5 but have ruled it out because it is not supported on Windows XP which some of our clients are still using.

    Our application uses the WPF Ribbon included in RibbonControlsLibrary.dll (7/18/12) Is it possible for us to use the Ribbon in System.Windows.Controls.Ribbon (7/9/12) without upgrading to .NET 4.5? (So far in testing it would appear that this doesn't work)

    Are there any benefits to using System.Windows.Controls.Ribbon over RibbonControlsLibrary.dll or are we just as well off with the older control?
  74. John Hagansays:
    Thanks for the great information on the Microsoft Ribbon for WPF.

    I'm using the WPF Ribbon (specifically, RibbonWindow) supplied with Visual Studio 2012RC. For the life of me, I can't find how to get the Customize Quick Access Toolbar pull-down to appear on the Quick Access Tool Bar. In fact, I haven't found any example of anyone getting it to appear since this first release of the WPF Ribbon.

    Can you tell me how to activate it, or if it's not been included with the Ribbon for WPF?
  75. Kostassays:
    One of the advantages of using WPF is the ability to scale the UI.
    Try setting a ScaleTransform (let's say scale by 2 in both directions) to the main grid of a window that uses a ribbon and see what happens....
    UGLY ! (there's a gap between the title bar and the ribbon).
    If there wasn't this bug, would definitely use the ribbon.

    I have also experienced some problems with the designer on the RibbonWindow but I'm not sure this is a problem that always appear.
  76. Kostassays:
    I think you should make a custom chrome window (that paints it's own "non-client area" - which will not be non-client actually but a WPF layout so that you can scale it and style it). Then, on this window, you could make the ribbon work like a charm!
    I hope you do this because I really like your ribbon.
    Best wishes! :)

Comment on this Post

Remember me