Bug Report T289683
Visible to All Users

Merging of the Ribbon control located in the ControlPane of the Backstage view does not work in MDI mode

created 9 years ago

Code first entity framework WPF project using the DevExpress Tabbed MDI View wizard.  The main windows has a RibbonControl that is merged with the tabbed views of the main window.

I added an ApplicationMenu to the RibbonControl.   It is a BackstageViewControl with BackstageTabItems.

One of the BackstageTabItems.ControlPane contains a DockLayoutManager tabbed MDI view that also has a RibbonControl (basically the same as the main tabbed MDI view)

The  BackstageTabItems.ControlPane RibbonControl items are shown in the BackstageTabItems.ControlPane, but the RibbonControl of the tabbed documents in the ControlPane is not shown or merged.

By clicking the ApplicationMenu on and off quick, it seems to me that the RibbonControl of the document in the tabbed MDI BackstageTabItem is merged with the main window RibbonControl (I see it momentarily when the ApplicationMenu is removed).

I want the RibbonControl of the tabbed documents in the BackstageTabItem to merge with the RibbonControl in the BackstageTabItem, not the applications RibbonControl (the RibbonControl of the main window.).

How can I do this?

Answers approved by DevExpress Support

created 9 years ago

We have fixed the issue described in this ticket and will include the fix in our next maintenance update. To apply this solution before the official update, request a hotfix by clicking the corresponding link for product versions you require.

Note: Hotfixes may be unavailable for beta versions and updates that are about to be released.

    created 9 years ago

    Hello Eric,

    The RibbonControl's merging mechanism automatically merges RibbonControls that are located in the visual tree. To control whether or not a RibbonControl will be merged, you can use the RibbonControl.MDIMergeStyle property. Therefore, to prevent the ControlPane's RibbonControl from being merged, set its MDIMergeStyle to Never.  To get detailed information about all RibbonControl merging mechanism features, refer to the  Merging Overview  topic in our documentation.

    Please don't hesitate to contact us if you have additional questions.

    Thanks,
    Michael

      Show previous comments (6)

        Much appreciated - you guys are really great.  I do need to fix this as soon as possible!

        DevExpress Support Team 9 years ago

          Hello Eric,

          Thank you for your reply. Our developers are working hard to find the cause of this misbehavior as soon as possible.

          Thanks,
          Elliot

          DevExpress Support Team 9 years ago

            I am happy to inform you that our developers have fixed this issue. After installing the fix, modify your sample as follows:

            1. The following event handlers can be removed:
            C#
            private void ribbonControl1_BackstageOpened(object sender, EventArgs e) { ribbonControl1.MDIMergeStyle = MDIMergeStyle.Never; } private void ribbonControl1_BackstageClosed(object sender, EventArgs e) { ribbonControl1.MDIMergeStyle = MDIMergeStyle.Always; }

            Set the attached MergingProperties.ElementMergingBehavior property to InternalWithInternal instead.

            1. To remove the flickering effect, disable asynchronous merging by setting the AsyncMergingEnabled property to False (this property will be available in the fix).
              For example:
            XAML
            <dxr:BackstageViewControl.Resources> <Style TargetType="{x:Type dxr:RibbonControl}"> <Setter Property="AsyncMergingEnabled" Value="False"/> </Style> </dxr:BackstageViewControl.Resources>

            I have attached the modified sample with these corrections. Please take a moment to review it.

            Disclaimer: The information provided on DevExpress.com and affiliated web properties (including the DevExpress Support Center) is provided "as is" without warranty of any kind. Developer Express Inc disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.

            Confidential Information: Developer Express Inc does not wish to receive, will not act to procure, nor will it solicit, confidential or proprietary materials and information from you through the DevExpress Support Center or its web properties. Any and all materials or information divulged during chats, email communications, online discussions, Support Center tickets, or made available to Developer Express Inc in any manner will be deemed NOT to be confidential by Developer Express Inc. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.