Exemple #1
0
        protected BaseActivationMenuEntry(string entryText, IMenuGroup group, int? ordinal, IDictionary<string, object> meta)
            : base(entryText, ordinal, meta)
        {
            // Can be null

            ParentGroup = group;
        }
 protected BaseLinkActivationMenuEntry(string entryText, string uri, IMenuGroup group, int? ordinal, IDictionary<string, object> meta)
     : base(entryText, group, ordinal, meta)
 {
     _uri = uri;
 }
Exemple #3
0
 public static void AddGroup(this Menu menu, IMenuGroup group)
 {
     group.AddToMenu(menu);
 }
Exemple #4
0
        private void OnEdit(IMenuItem menuItem)
        {
            if (string.IsNullOrWhiteSpace(Edit.Text))
            {
                if (IsCreate || IsCreateGroup)
                {
                    Edit.Visibility    = Visibility.Hidden;
                    Element.HideHeader = false;
                    return;
                }
                else
                {
                    return;
                }
            }

            bool complite = false;

            if (menuItem is IMenuGroup group)
            {
                if (IsCreate)
                {
                    IMenuItem item = group.OnCreateItem?.Invoke(group, Edit.Text);

                    if (item != null)
                    {
                        group.AddItem(item);
                    }

                    complite = true;
                }
                else if (IsCreateGroup)
                {
                    IMenuGroup item = group.OnCreateGroup?.Invoke(group, Edit.Text);

                    if (item != null)
                    {
                        group.AddItem(item);
                    }

                    complite = true;
                }
            }

            if (!IsCreate && !IsCreateGroup && (Edit.Text == menuItem.Header || menuItem.OnRename?.Invoke(menuItem, Edit.Text) == true))
            {
                menuItem.Header = Edit.Text;
                complite        = true;
            }

            if (complite)
            {
                Edit.Text = "";

                Edit.Visibility    = Visibility.Hidden;
                Element.HideHeader = false;
            }
            else
            {
                Edit.Text = IsCreate || IsCreateGroup ? "" : menuItem.Header;
            }
        }