zoukankan      html  css  js  c++  java
  • 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
    
        }
    }
  • 相关阅读:
    心情日记:【原创诗歌】怆情吟
    心情日记:2008年3月3日 奶奶去世
    心情日记:健身日记
    金融基础概念期货
    FXDD点值获利计算
    外汇基础概念汇率
    报告论文:是学生都copy下来,现在不用,将来绝对要用(转)
    情感日记:毕业临走物语
    美元为什么坚挺
    英特尔首席技术官:人机智能鸿沟将于2050年消失
  • 原文地址:https://www.cnblogs.com/gisoracle/p/12641474.html
Copyright © 2011-2022 走看看