Current filter:
                                You should refresh the page.
                                  • Hi,
                                    I'm trying to use a NavigationFrame that contains several NavigationPages in a Child Form (inside a MDi parent with a Tabbed view to display forms as tabs).
                                    The child form also contains an OfficeNavigationBar linked to the NavigationFrame, displaying NavigationPages as items in the bar.
                                    Also, each page on the navigation frame contains a usercontrol with a ribbon and my goal is to merge these ribbons with the child form each time the user select a different page in the navigation bar.

                                    If I show the child form (employee form) the form appears with its ribbon merged with the main form (mdi parent) and also the ribbon of the first module, which is correct. However, this only works with the first page of the NavigationFrame. When I show the second page (or others) then second module is displayed but the ribbon only displays the button items of the ribbon of the first module. Maybe it's a refresh issue ¿?

                                    Note: if I undock the child form and select first or second page it works great! :S
                                    I've created and attached a sample project.

                                    **Steps to reproduce**

                                    1-Compile and run
                                    2-On main form and click 'show employee' button.
                                    3-On the employee's navigation bar switch between 'Preferences' and 'General' tabs -> The ribbon doesn't change
                                    4-Undock the form (right click on tab -> float)
                                    5-Repeat step 3 -> Now the ribbon works, showing the ribbon of the selected page and module.

                                    Thx in advance,

                                • Svetlana (DevExpress Support) 01.13.2019


                                  We have successfully reproduced the behavior you described and passed this ticket to our developers' team for further research. Please bear with us. We will notify you as soon as we make any progress. 

                                1 Solution

                                Creation Date Importance Sort by


                                We have finished our investigation. Let me explain why you are observing the current behavior.

                                You have two RibbonControls located on nested levels of your EmployeeForm and NavigationFrame. Each time a page is selected in NavigationFrame, a ribbon of this page is merged with EmployeeForm's ribbon. However, EmployeeForm's ribbon is merged with your main form's ribbon when an active MDI child is changed. This happens only once when a new EmployeeForm is shown. That is why your ribbons are not merged when a new page is selected in NavigationFrame.

                                To achieve the desired result, merge your ribbons manually by handling the NavigationFrame.SelectedPageChanged event:

                                private void OnSelectedPageChanged(object sender, DevExpress.XtraBars.Navigation.SelectedPageChangedEventArgs e) { RibbonForm parentForm = ParentForm as RibbonForm; if(parentForm != null) { parentForm.Ribbon.UnMergeRibbon(); parentForm.Ribbon.MergeRibbon(Ribbon); } }

                                In addition, I recommend reading the Ribbon Merging help article for more information about the merging feature.

                                • Lluis Franco 01.15.2019

                                  Thx Svetlana!
                                  It works like a charm :)