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; }
public static void AddGroup(this Menu menu, IMenuGroup group) { group.AddToMenu(menu); }
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; } }