Inheritance: System.Windows.Controls.Control
Exemplo n.º 1
0
        // Updates keys for keytip access
        private static void DefaultUpdateKeyTips(QuickAccessToolBar quickAccessToolBar)
        {
            for (var i = 0; i < Math.Min(9, quickAccessToolBar.Items.Count); i++)
            {
                // 1, 2, 3, ... , 9
                KeyTip.SetKeys(quickAccessToolBar.Items[i], (i + 1).ToString(CultureInfo.InvariantCulture));
            }

            for (var i = 9; i < Math.Min(18, quickAccessToolBar.Items.Count); i++)
            {
                // 09, 08, 07, ... , 01
                KeyTip.SetKeys(quickAccessToolBar.Items[i], "0" + (18 - i).ToString(CultureInfo.InvariantCulture));
            }

            var startChar = 'A';

            for (var i = 18; i < Math.Min(9 + 9 + 26, quickAccessToolBar.Items.Count); i++)
            {
                // 0A, 0B, 0C, ... , 0Z
                KeyTip.SetKeys(quickAccessToolBar.Items[i], "0" + startChar++);
            }
        }
Exemplo n.º 2
0
        public override void OnApplyTemplate()
        {
            if (layoutRoot != null) RemoveLogicalChild(layoutRoot);

            layoutRoot = GetTemplateChild("PART_LayoutRoot") as Panel;

            if (layoutRoot != null) AddLogicalChild(layoutRoot);

            if ((this.TitleBar != null) && (groups != null))
            {
                for (int i = 0; i < groups.Count; i++)
                {
                    this.TitleBar.Items.Remove(groups[i]);
                }
            }
            this.TitleBar = GetTemplateChild("PART_RibbonTitleBar") as RibbonTitleBar;
            if ((this.TitleBar != null) && (groups != null))
            {
                for (int i = 0; i < groups.Count; i++)
                {
                    this.TitleBar.Items.Add(groups[i]);
                }
            }
            RibbonTabItem selectedTab = SelectedTabItem;
            if (TabControl != null)
            {
                TabControl.SelectionChanged -= OnTabControlSelectionChanged;
                selectedTab = TabControl.SelectedItem as RibbonTabItem;
            }
            if ((TabControl != null) && (tabs != null))
            {
                for (int i = 0; i < tabs.Count; i++)
                {
                    TabControl.Items.Remove(tabs[i]);
                }
            }

            if ((TabControl != null) && (toolBarItems != null))
            {
                for (int i = 0; i < toolBarItems.Count; i++)
                {
                    TabControl.ToolBarItems.Remove(toolBarItems[i]);
                }
            }

            TabControl = GetTemplateChild("PART_RibbonTabControl") as RibbonTabControl;

            if (TabControl != null)
            {
                TabControl.SelectionChanged += OnTabControlSelectionChanged;

                TabControl.IsMinimized = this.IsMinimized;
                TabControl.ContentGapHeight = this.ContentGapHeight;

                TabControl.SetBinding(RibbonTabControl.IsMinimizedProperty, new Binding("IsMinimized") { Source = this, Mode = BindingMode.TwoWay });
                TabControl.SetBinding(RibbonTabControl.ContentGapHeightProperty, new Binding("ContentGapHeight") { Source = this, Mode = BindingMode.OneWay });
            }

            if ((TabControl != null) && (tabs != null))
            {
                for (int i = 0; i < tabs.Count; i++)
                {
                    TabControl.Items.Add(tabs[i]);
                }
                TabControl.SelectedItem = selectedTab;
                if (TabControl.SelectedItem == null)
                {
                    //bool isBacstageOpen = IsBackstageOpen;
                    //tabControl.SelectedIndex = selectedTabIndex >= 0 ? selectedTabIndex : 0;
                    //IsBackstageOpen = isBacstageOpen;
                }
            }

            if ((TabControl != null) && (toolBarItems != null))
            {
                for (int i = 0; i < toolBarItems.Count; i++)
                {
                    TabControl.ToolBarItems.Add(toolBarItems[i]);
                }
            }


            if (quickAccessToolBar != null)
            {
                this.quickAccessStream = new MemoryStream();

                if (!this.AutomaticStateManagement
                    || this.IsStateLoaded)
                {
                    this.SaveState(this.quickAccessStream);
                }

                this.ClearQuickAccessToolBar();
            }

            if (quickAccessToolBar != null)
            {
                quickAccessToolBar.ItemsChanged -= OnQuickAccessItemsChanged;
                if (quickAccessItems != null)
                {
                    for (int i = 0; i < quickAccessItems.Count; i++)
                    {
                        quickAccessToolBar.QuickAccessItems.Remove(quickAccessItems[i]);
                    }
                }
            }

            quickAccessToolBar = GetTemplateChild("PART_QuickAccessToolBar") as QuickAccessToolBar;
            if (quickAccessToolBar != null)
            {
                if (quickAccessItems != null)
                {
                    for (int i = 0; i < quickAccessItems.Count; i++)
                    {
                        quickAccessToolBar.QuickAccessItems.Add(quickAccessItems[i]);
                    }
                }
                quickAccessToolBar.ItemsChanged += OnQuickAccessItemsChanged;

                var binding = new Binding("CanQuickAccessLocationChanging")
                              {
                                  Source = this,
                                  Mode = BindingMode.OneWay
                              };
                quickAccessToolBar.SetBinding(Fluent.QuickAccessToolBar.CanQuickAccessLocationChangingProperty, binding);

                //quickAccessToolBar.SizeChanged += OnQATSizeChanged;
            }

            if (quickAccessToolBar != null)
            {
                if (quickAccessToolBar.Parent == null) AddLogicalChild(quickAccessToolBar);
                quickAccessToolBar.Loaded += OnFirstToolbarLoaded;
            }

            /*if (backstageButton != null)
            {
                if (backstageItems != null)
                {
                    for (int i = 0; i < backstageItems.Count; i++)
                    {
                        //backstageButton.Backstage.Items.Remove(backstageItems[i]);
                    }
                }
            }
            backstageButton = GetTemplateChild("PART_BackstageButton") as Backstage;
            adorner = null;
            if (backstageButton != null)
            {
                Binding binding = new Binding("IsBackstageOpen");
                binding.Mode = BindingMode.TwoWay;
                binding.Source = this;
                backstageButton.SetBinding(Backstage.IsOpenProperty, binding);
                if (backstageItems != null)
                {
                    for (int i = 0; i < backstageItems.Count; i++)
                    {
                        //backstageButton.Backstage.Items.Add(backstageItems[i]);
                    }
                }
            }*/
        }
Exemplo n.º 3
0
        public override void OnApplyTemplate()
        {
            if (this.layoutRoot != null)
            {
                this.RemoveLogicalChild(this.layoutRoot);
            }

            this.layoutRoot = this.GetTemplateChild("PART_LayoutRoot") as Panel;

            if (this.layoutRoot != null)
            {
                this.AddLogicalChild(this.layoutRoot);
            }

            if (this.TitleBar != null)
            {
                foreach (var ribbonContextualTabGroup in this.ContextualGroups)
                {
                    this.TitleBar.Items.Remove(ribbonContextualTabGroup);
                }

                // Make sure everything is cleared
                this.TitleBar.Items.Clear();
            }

            this.TitleBar = this.GetTemplateChild("PART_RibbonTitleBar") as RibbonTitleBar;

            if (this.TitleBar != null)
            {
                foreach (var contextualTabGroup in this.ContextualGroups)
                {
                    this.TitleBar.Items.Add(contextualTabGroup);
                }
            }

            var selectedTab = this.SelectedTabItem;
            if (this.TabControl != null)
            {
                this.TabControl.SelectionChanged -= this.OnTabControlSelectionChanged;
                selectedTab = this.TabControl.SelectedItem as RibbonTabItem;

                foreach (var ribbonTabItem in this.Tabs)
                {
                    this.TabControl.Items.Remove(ribbonTabItem);
                }

                // Make sure everything is cleared
                this.TabControl.Items.Clear();

                foreach (var toolBarItem in this.ToolBarItems)
                {
                    this.TabControl.ToolBarItems.Remove(toolBarItem);
                }

                // Make sure everything is cleared
                this.TabControl.ToolBarItems.Clear();
            }

            this.TabControl = this.GetTemplateChild("PART_RibbonTabControl") as RibbonTabControl;

            if (this.TabControl != null)
            {
                this.TabControl.SelectionChanged += this.OnTabControlSelectionChanged;

                this.TabControl.IsMinimized = this.IsMinimized;
                this.TabControl.ContentGapHeight = this.ContentGapHeight;

                this.TabControl.SetBinding(RibbonTabControl.IsMinimizedProperty, new Binding("IsMinimized") { Source = this, Mode = BindingMode.TwoWay });
                this.TabControl.SetBinding(RibbonTabControl.ContentGapHeightProperty, new Binding("ContentGapHeight") { Source = this, Mode = BindingMode.OneWay });

                foreach (var ribbonTabItem in this.Tabs)
                {
                    this.TabControl.Items.Add(ribbonTabItem);
                }

                this.TabControl.SelectedItem = selectedTab;

                foreach (var toolBarItem in this.ToolBarItems)
                {
                    this.TabControl.ToolBarItems.Add(toolBarItem);
                }
            }

            if (this.quickAccessToolBar != null)
            {
                this.quickAccessStream = new MemoryStream();

                if (!this.AutomaticStateManagement
                    || this.IsStateLoaded)
                {
                    this.SaveState(this.quickAccessStream);
                }

                this.ClearQuickAccessToolBar();

                this.quickAccessToolBar.ItemsChanged -= this.OnQuickAccessItemsChanged;

                foreach (var quickAccessMenuItem in this.QuickAccessItems)
                {
                    this.quickAccessToolBar.QuickAccessItems.Remove(quickAccessMenuItem);
                }
            }

            this.quickAccessToolBar = this.GetTemplateChild("PART_QuickAccessToolBar") as QuickAccessToolBar;

            if (this.quickAccessToolBar != null)
            {
                foreach (var quickAccessMenuItem in this.QuickAccessItems)
                {
                    this.quickAccessToolBar.QuickAccessItems.Add(quickAccessMenuItem);
                }

                this.quickAccessToolBar.ItemsChanged += this.OnQuickAccessItemsChanged;

                var binding = new Binding("CanQuickAccessLocationChanging")
                              {
                                  Source = this,
                                  Mode = BindingMode.OneWay
                              };
                this.quickAccessToolBar.SetBinding(QuickAccessToolBar.CanQuickAccessLocationChangingProperty, binding);

                if (this.quickAccessToolBar.Parent == null)
                {
                    this.AddLogicalChild(this.quickAccessToolBar);
                }

                this.quickAccessToolBar.Loaded += this.OnFirstToolbarLoaded;
            }
        }