示例#1
0
        public void OnAction(RibbonElement elment, RibbonEventArgs e)
        {
            if (e == null)
            {
                return;
            }
            var xRibbonButton = (XRibbonButton)elment;

            if (xRibbonButton == null)
            {
                return;
            }

            this.OnButtonAction(xRibbonButton, e);
        }
        public void OnAction(RibbonElement elment, RibbonEventArgs e)
        {
            var args = (RibbonToggleButtonEventArgs)e;

            if (e == null)
            {
                return;
            }
            var xRibbonToggleButton = (XRibbonToggleButton)elment;

            if (xRibbonToggleButton == null)
            {
                return;
            }


            this.OnToggleButtonAction(xRibbonToggleButton, args);
        }
示例#3
0
        public void Properties()
        {
            var name = nameof(Properties);
            var text = "GetText";

            using (var dest = new RibbonElement(() => text))
            {
                Assert.That(dest.Name, Is.EqualTo(name));
                Assert.That(dest.Text, Is.EqualTo(text));
                Assert.That(dest.Tooltip, Is.EqualTo(text));
                Assert.That(dest.LargeIcon, Is.EqualTo($"pack://application:,,,/Assets/Large/{name}.png"));
                Assert.That(dest.SmallIcon, Is.EqualTo($"pack://application:,,,/Assets/Small/{name}.png"));

                Locale.Set(Language.French);
                Assert.That(dest.Text, Is.EqualTo(text));
                Assert.That(dest.Tooltip, Is.EqualTo(text));
            }

            Locale.Set(Language.Japanese);
        }
示例#4
0
 /// <summary>
 /// 缓存功能区元素对象
 /// </summary>
 /// <param name="id"></param>
 /// <param name="element"></param>
 internal void CacheRibbonElement(string id, RibbonElement element)
 {
     this.ribbonRepository.Add(id, element);
 }
示例#5
0
        /// <summary>
        /// 添加功能区元素
        /// </summary>
        /// <param name="id"></param>
        /// <param name="element"></param>
        public void Add(string id, RibbonElement element)
        {
            if (string.IsNullOrEmpty(id))
            {
                return;
            }
            if (!ribbonsById.Contains(id))
            {
                // 添加到全局的功能区缓存中
                ribbonsById.Add(id, element);
                // 检查是否是分组元素
                var xRibbonGroup = element as XRibbonGroup;
                if (xRibbonGroup != null)
                {
                    var xRibbonTab = xRibbonGroup.Parent as XRibbonTab;
                    OrderedDictionary groups;
                    if (xRibbonTab == null)
                    {
                        Log.Debug("Add方法xRibbonTab为空!");
                        return;
                    }

                    if (groupsByTab.Contains(xRibbonTab.Id))
                    {
                        groups = groupsByTab[xRibbonTab.Id] as OrderedDictionary;
                    }
                    else
                    {
                        groups = new OrderedDictionary();
                        groupsByTab.Add(xRibbonTab.Id, groups);
                    }
                    if (groups == null)
                    {
                        Log.Debug("Add方法Groups为空!");
                        return;
                    }
                    groups.Add(id, element);
                    return;
                }
                // 检查是否是菜单元素
                var xRibbonMenu = element as XRibbonMenu;
                if (xRibbonMenu != null)
                {
                    xRibbonGroup = xRibbonMenu.Parent as XRibbonGroup;
                    OrderedDictionary menus;
                    if (xRibbonGroup == null)
                    {
                        Log.Debug("xRibbonGroup为空!");
                        return;
                    }
                    if (menusByGroup.Contains(xRibbonGroup.Id))
                    {
                        menus = menusByGroup[xRibbonGroup.Id] as OrderedDictionary;
                    }
                    else
                    {
                        menus = new OrderedDictionary();
                        menusByGroup.Add(xRibbonGroup.Id, menus);
                    }
                    if (menus == null)
                    {
                        Log.Debug("menus为空!");
                        return;
                    }
                    menus.Add(id, element);
                }
            }
        }