ArcGIS Pro配置中删除已有所有TAB

Posted gisoracle

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ArcGIS Pro配置中删除已有所有TAB相关的知识,希望对你有一定的参考价值。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Input;
using System.Threading.Tasks;
using ArcGIS.Core.CIM;
using ArcGIS.Core.Data;
using ArcGIS.Core.Geometry;
using ArcGIS.Desktop.Catalog;
using ArcGIS.Desktop.Core;
using ArcGIS.Desktop.Editing;
using ArcGIS.Desktop.Extensions;
using ArcGIS.Desktop.Framework;
using ArcGIS.Desktop.Framework.Contracts;
using ArcGIS.Desktop.Framework.Dialogs;
using ArcGIS.Desktop.Framework.Threading.Tasks;
using ArcGIS.Desktop.Mapping;
using System.Xml.Linq;


namespace ProConfiguration2
{
    internal class Module1 : Module
    {
        private static Module1 _this = null;

        /// <summary>
        /// Retrieve the singleton instance to this module here
        /// </summary>
        public static Module1 Current
        {
            get
            {
                return _this ?? (_this = (Module1)FrameworkApplication.FindModule("ProConfiguration2_Module"));
            }
        }

        #region Overrides
        /// <summary>
        /// Called by Framework when ArcGIS Pro is closing
        /// </summary>
        /// <returns>False to prevent Pro from closing, otherwise True</returns>
        protected override bool CanUnload()
        {
            //TODO - add your business logic
            //return false to ~cancel~ Application close
            return true;
        }
//by gisoracle
        protected  void OnUpdateDatabase(System.Xml.Linq.XDocument database)
        {
            var nsp = database.Root.Name.Namespace;
            var tabElements = from seg in database.Root.Descendants(nsp + "tab") select seg;
            var elements = new HashSet<XElement>();
            foreach (var tabElement in tabElements)
            {
                if (tabElement.Parent == null
                    || tabElement.Parent.Name.LocalName.StartsWith("backstage"))
                    continue;
                var id = tabElement.Attribute("id");
                if (id == null) continue;

                if (id.Value.StartsWith("esri"))
                    elements.Add(tabElement);
            }

            foreach (var element in elements)
            {
                element.Remove();
            }
        }
        #endregion Overrides

    }
}

 

以上是关于ArcGIS Pro配置中删除已有所有TAB的主要内容,如果未能解决你的问题,请参考以下文章

arcgis pro2.5 布局视图怎样插入对象文件?

ArcGIS Pro微课1000例0025:大型商场选择典型案例(缓冲区分析+叠置分析)

ArcGIS Pro微课1000例0025:大型商场选择典型案例(缓冲区分析+叠置分析)

ArcGIS Pro风暴Win7系统ArcGIS Pro2.5安装权威教程(附软件安装包下载)

arcgis pro ArcGISProject

ArcGIS Pro 简明教程Pro简介