QAT not displayed anymore after upgrade to v16

Ribbon for WPF Forum

Posted 3 years ago by Alexandre Mailhot
Version: 16.1.0633
Platform: .NET 4.5
Environment: Windows 10 (64-bit)
Avatar

Hi,

Just upgraded from Actipro v15 to v16.1.633 with very changes required,  none related to Ribbon.

Problem : The Ribbon appears correctly, but the QAT is no longer displayed.

Verifying the visual tree shows that the stackpanel under PART_VisibleItemsControl is now empty.

Our Ribbon is defined in its own View, and we do see the QAT while in designed mode for that View

Using Prism, that view is registered to a Region, and that region is called from the main application's xaml simply by :

<ContentControl prism:RegionManager.RegionName="{x:Static local:RegionNames.TopMenuRegion}" Grid.Row="0"/>

 

Anything changed regarding the QAT that we could verify ?

I am currently trying to duplicate the issue in your PrismIntegration.Unity-VB demo project,  but for now I cant get the QAT to even show in design mode.

It would be nice to add a Ribbon in that Prism example, I would be curious to see if you handle it inside its own region.

 

Thank you,

 

Alex

Comments (5)

Posted 3 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar

Hi Alex,

I believe a coworker of yours posted this thread a week or so ago (https://www.actiprosoftware.com/community/thread/23616/prism-41-actipro-v161-regions-not-added-t#112897) that is related.  We had tried back then to repro this in our Prism sample but were unable to.

The updates we've made to the QAT in recent releases were mostly around supporting the new accented Metro themes and having the QAT render button images in white when one of those themes is active.  From looking at the update history, I'm not sure what would be causing the issue you are seeing without having a simple sample project to debug.  Perhaps something where the ribbon layout already occurred and then QAT items get added later but something is preventing them from being measured again?  Please do throw a basic Ribbon in the one sample and see if you can make it happen there.  That's what we really need to be able to help sort this out.  We have a maintenance release coming in the next few days, so it would be ideal if we can narrow down what's going on before that.


Actipro Software Support

Posted 3 years ago by Alexandre Mailhot
Avatar

Hi,

Thank you for your reply,

We changed the way we add our current RibbonView (simple xaml containing only the ribbon and QAT) and it fixed the issue.

We no longer use it inside a Region and use the view directly in the main xaml.

In the maindefault.xaml, we replaced this (TopMenuRegion only had RibbonView in it) :

<ContentControl prism:RegionManager.RegionName="{x:Static local:RegionNames.TopMenuRegion}" Grid.Row="0"/>

By simply this :

<vw:RibbonView></vw:RibbonView>

I giving you this hint since it may still be a source of future issues for you in more complex Prism based applications. The 'timing' in using the regionmanager to instanciate a view containing the ribbon seems to have been affected by going from actipro 15 to 16.

Note that I took care of testing this with only the actipro DLL changes.

We will post again if we find out any other clue regarding this.  We have a bunch of apps to migrate to 16 still :)

Thank you

[Modified 3 years ago]

Posted 3 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar

Hi Alex,

I just did a quick and dirty prototype of a Ribbon within a RibbonView.  Then I registered that view with a ContentControl region so it would show up in the Shell.  I also changed the Shell Window to be a RibbonWindow.  When I did those things (even when I left the Shell as a Window instead of RibbonWindow), I saw the Ribbon and the QAT items fine.


Actipro Software Support

Posted 3 years ago by Alexandre Mailhot
Avatar

Even if its quick and dirty, could we take a look at your example?

We suspect we may find a better way to use the region manager for such items as a Ribbon.

Thanks!

Posted 3 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar

Hi Alex,

Sorry we just made the changes mentioned above in the C# Prism sample we supply to test, but didn't save them.  If I recall correctly, the "view" we made was a UserControl named RibbonView that contained a Ribbon.  The ContentControl was added to Shell.xaml and given a RegionName like "RibbonRegion".  Then in MainModule.cs, we did something like:

regionViewRegistry.RegisterViewWithRegion("RibbonRegion", typeof(RibbonView));


Actipro Software Support

The latest build of this product (v2019.1 build 0681) was released 1 month ago, which was after the last post in this thread.

Add Comment

Please log in to a validated account to post comments.