void InitializeClipboardGroup(PageModel homePage)
        {
            PageGroupModel clipboardGroup = ViewModelSource.Create(() => new PageGroupModel()
            {
                Name = "Clipboard", Glyph = GlyphHelper.GetGlyph("/Images/Icons/paste-32x32.png")
            });

            homePage.Groups.Add(clipboardGroup);
            CommandModel cutCommand = ViewModelSource.Create(() => new CommandModel(cutCommandExecuteFunc)
            {
                Caption = "Cut", LargeGlyph = GlyphHelper.GetGlyph("/Images/Icons/cut-32x32.png"), SmallGlyph = GlyphHelper.GetGlyph("/Images/Icons/cut-16x16.png")
            });
            CommandModel copyCommand = ViewModelSource.Create(() => new CommandModel(copyCommandExecuteFunc)
            {
                Caption = "Copy", LargeGlyph = GlyphHelper.GetGlyph("/Images/Icons/copy-32x32.png"), SmallGlyph = GlyphHelper.GetGlyph("/Images/Icons/copy-16x16.png")
            });
            CommandModel pasteCommand = ViewModelSource.Create(() => new CommandModel(pasteCommandExecuteFunc)
            {
                Caption = "Paste", LargeGlyph = GlyphHelper.GetGlyph("/Images/Icons/paste-32x32.png"), SmallGlyph = GlyphHelper.GetGlyph("/Images/Icons/paste-16x16.png")
            });
            CommandModel selectCommand = ViewModelSource.Create(() => new CommandModel(selectAllCommandExecuteFunc)
            {
                Caption = "Select All", LargeGlyph = GlyphHelper.GetGlyph("/Images/Icons/SelectAll_32x32.png"), SmallGlyph = GlyphHelper.GetGlyph("/Images/Icons/SelectAll_16x16.png")
            });
            CommandModel blankCommand = ViewModelSource.Create(() => new CommandModel(blankCommandExecuteFunc)
            {
                Caption = "Clear Page", LargeGlyph = GlyphHelper.GetGlyph("/Images/Icons/new-32x32.png"), SmallGlyph = GlyphHelper.GetGlyph("/Images/Icons/new-16x16.png")
            });

            clipboardGroup.Commands.Add(cutCommand);
            clipboardGroup.Commands.Add(copyCommand);
            clipboardGroup.Commands.Add(pasteCommand);
            clipboardGroup.Commands.Add(selectCommand);
            clipboardGroup.Commands.Add(blankCommand);
        }
 private void PageGroupCreation()
 {
     viewModel.Categories[0].Pages[0].Groups.Add(ViewModelSource.Create(() => new PageGroupModel()
     {
         Name = "New Group", Glyph = GlyphHelper.GetGlyph("/Images/Icons/NewViaWizard_32x32.png")
     }));
 }
        private void CommandCreation()
        {
            CommandModel newCommand = ViewModelSource.Create(() => new CommandModel()
            {
                Caption = "New Command", LargeGlyph = GlyphHelper.GetGlyph("/Images/Icons/NewViaWizard_32x32.png"), SmallGlyph = GlyphHelper.GetGlyph("/Images/Icons/NewViaWizard_16x16.png")
            });

            viewModel.Categories[0].Pages[0].Groups[0].Commands.Add(newCommand);
        }
        void InitializeAdditionGroup(PageModel homePage)
        {
            PageGroupModel addingGroup = ViewModelSource.Create(() => new PageGroupModel()
            {
                Name = "Addition", Glyph = GlyphHelper.GetGlyph("/Images/Icons/Add_32x32.png")
            });

            homePage.Groups.Add(addingGroup);
            MyGroupCommand addGroupCommand = ViewModelSource.Create(() => new MyGroupCommand()
            {
                Caption = "Add", LargeGlyph = GlyphHelper.GetGlyph("/Images/Icons/Add_32x32.png"), SmallGlyph = GlyphHelper.GetGlyph("/Images/Icons/Add_16x16.png")
            });
            MyParentCommand parentCommand = ViewModelSource.Create(() => new MyParentCommand(this, MyParentCommandType.CommandCreation)
            {
                Caption = "Add New Command", LargeGlyph = GlyphHelper.GetGlyph("/Images/Icons/Add_32x32.png"), SmallGlyph = GlyphHelper.GetGlyph("/Images/Icons/Add_16x16.png")
            });
            MyParentCommand parentGroup = ViewModelSource.Create(() => new MyParentCommand(this, MyParentCommandType.GroupCreation)
            {
                Caption = "Add New Group", LargeGlyph = GlyphHelper.GetGlyph("/Images/Icons/Add_32x32.png"), SmallGlyph = GlyphHelper.GetGlyph("/Images/Icons/Add_16x16.png")
            });
            MyParentCommand parentPage = ViewModelSource.Create(() => new MyParentCommand(this, MyParentCommandType.PageCreation)
            {
                Caption = "Add New Page", LargeGlyph = GlyphHelper.GetGlyph("/Images/Icons/Add_32x32.png"), SmallGlyph = GlyphHelper.GetGlyph("/Images/Icons/Add_16x16.png")
            });

            addGroupCommand.Commands.Add(parentCommand);
            addGroupCommand.Commands.Add(parentGroup);
            addGroupCommand.Commands.Add(parentPage);
            addingGroup.Commands.Add(addGroupCommand);
            addingGroup.Commands.Add(parentCommand);
            addingGroup.Commands.Add(parentGroup);
            addingGroup.Commands.Add(parentPage);
            MenuItems.Add(parentCommand);
            MenuItems.Add(parentGroup);
            MenuItems.Add(parentPage);
        }