void RegisterCloseEvent(ITaskPaneContent taskPaneContent)
 {
     Action taskPaneContentOnClose = null;
     taskPaneContentOnClose = () =>
     {
         ContentItems.Remove(taskPaneContent);
         taskPaneContent.OnClose -= taskPaneContentOnClose;
     };
     taskPaneContent.OnClose += taskPaneContentOnClose;
 }
        public void AddOrActivate(ITaskPaneContent taskPaneContent)
        {
            RegisterCloseEvent(taskPaneContent);

            var existingIndex = ContentItems.IndexOf(taskPaneContent);
            if (existingIndex == -1)
                ContentItems.Insert(0, taskPaneContent);
            else
                ContentItems.Move(existingIndex, 0);
        }
        void RegisterCloseEvent(ITaskPaneContent taskPaneContent)
        {
            Action taskPaneContentOnClose = null;

            taskPaneContentOnClose = () =>
            {
                ContentItems.Remove(taskPaneContent);
                taskPaneContent.OnClose -= taskPaneContentOnClose;
            };
            taskPaneContent.OnClose += taskPaneContentOnClose;
        }
        public void AddOrActivate(ITaskPaneContent taskPaneContent)
        {
            RegisterCloseEvent(taskPaneContent);

            var existingIndex = ContentItems.IndexOf(taskPaneContent);

            if (existingIndex == -1)
            {
                ContentItems.Insert(0, taskPaneContent);
            }
            else
            {
                ContentItems.Move(existingIndex, 0);
            }
        }