protected virtual void ConfigureSideMenu(SidebarController sidebarController)
        {
            var mvxSideMenuSettings = sidebarController.MenuAreaController as IMvxSidebarMenu;

            if (mvxSideMenuSettings != null)
            {
                sidebarController.DarkOverlayAlpha    = mvxSideMenuSettings.DarkOverlayAlpha;
                sidebarController.HasDarkOverlay      = mvxSideMenuSettings.HasDarkOverlay;
                sidebarController.HasShadowing        = mvxSideMenuSettings.HasShadowing;
                sidebarController.DisablePanGesture   = mvxSideMenuSettings.DisablePanGesture;
                sidebarController.ReopenOnRotate      = mvxSideMenuSettings.ReopenOnRotate;
                sidebarController.StateChangeHandler += (object sender, bool isOpen) =>
                {
                    sidebarController.MenuWidth = mvxSideMenuSettings.MenuWidth;
                    sidebarController.ViewWillAppear(mvxSideMenuSettings.AnimateMenu);

                    if (isOpen)
                    {
                        mvxSideMenuSettings.MenuDidOpen();
                    }
                    else
                    {
                        mvxSideMenuSettings.MenuDidClose();
                    }
                };
            }
        }
        private static UIBarButtonItem CreateBarButtonItem(SidebarController sidebarController, IMvxSidebarMenu mvxSidebarMenu = null)
        {
            UIBarButtonItem barButtonItem;

            if (mvxSidebarMenu != null)
            {
                barButtonItem = new UIBarButtonItem(mvxSidebarMenu.MenuButtonImage
                                                    , UIBarButtonItemStyle.Plain
                                                    , (sender, args) =>
                {
                    if (sidebarController.IsOpen)
                    {
                        mvxSidebarMenu.MenuWillClose();
                    }
                    else
                    {
                        mvxSidebarMenu.MenuWillOpen();
                    }
                    sidebarController.MenuWidth = mvxSidebarMenu.MenuWidth;
                    sidebarController.ViewWillAppear(false);
                    sidebarController.ToggleMenu();
                });
            }
            else
            {
                barButtonItem = new UIBarButtonItem("Menu"
                                                    , UIBarButtonItemStyle.Plain
                                                    , (sender, args) =>
                {
                    sidebarController.ToggleMenu();
                });
            }

            return(barButtonItem);
        }