コード例 #1
0
        public static void AddEditButtons(TabItem view, IRegionManager regionManger, IUnityContainer unityContainer)
        {
            if (view == null)
            {
                return;
            }

            IParentViewName parentNewSelection = view.DataContext as IParentViewName;

            if (parentNewSelection == null || !parentNewSelection.HasEditButtons)
            {
                return;
            }

            var editMenu = unityContainer.Resolve <EditMenuRibbonGroupBox>();

            editMenu.Header = $"Edit {view.Header}";
            IRegion ribbonRegion = regionManger.Regions[RegionNames.RibbonRegion];

            RibbonTabItem buttonsView = ribbonRegion.GetView(parentNewSelection.ParentViewName) as RibbonTabItem;

            editMenu.DataContext = view.DataContext;
            view.Tag             = editMenu;
            buttonsView.Groups.Add(editMenu);
        }
コード例 #2
0
        public static void RemoveEditButtons(TabItem view, IRegionManager regionManger, bool isViewClosed)
        {
            if (view == null)
            {
                return;
            }

            IParentViewName parentNewSelection = view.DataContext as IParentViewName;

            if (parentNewSelection == null || !parentNewSelection.HasEditButtons || view.Tag == null)
            {
                return;
            }

            IRegion       ribbonRegion = regionManger.Regions[RegionNames.RibbonRegion];
            RibbonTabItem buttonsView  = ribbonRegion.GetView(parentNewSelection.ParentViewName) as RibbonTabItem;
            var           editMenu     = view.Tag as EditMenuRibbonGroupBox;

            if (isViewClosed)
            {
                view.Tag             = null;
                editMenu.DataContext = null;
            }

            buttonsView.Groups.Remove(editMenu);
        }