ArcGIS Pro 加载项(2)——修复图层及独立表名称

使用模型构建器的过程中,因为模型中使用了行内变量,并且输出结果使用了添加至显示,结果在内容面板中自动添加上来的图层和独立表的名称都是带了 %行内变量% 的名称。移除之后从目录中重新添加会正常显示原始的名称,但是觉得点选之后添加比较麻烦,所以想到使用SDK构建按钮一键修复图层和独立表的显示名称。效果图如下
在这里插入图片描述

按钮核心代码

protected override void OnClick()
{
    var mv = MapView.Active;
    var lyrs = mv.Map.Layers;
    var tables = mv.Map.StandaloneTables;
    foreach (var lyr in lyrs)
    {
	    if(lyr is FeatureLayer)
	    {
	        FeatureLayer featureLayer = lyr as FeatureLayer;
	        //RemoveLayers方法必须在QueuedTask.Run中运行
	        QueuedTask.Run(() =>
	        {
	            string featureLayerName = featureLayer.GetFeatureClass().GetName();
	            lyr.SetName(featureLayerName);
	        });
	    }
    }

    foreach (var table in tables)
    {
        QueuedTask.Run(() =>
        {
            string tableName = table.GetTable().GetName();
            table.SetName(tableName);
        });
    }
}

DAML中需要添加的代码

<groups>
  <group id="ProAppModule_Group1" caption="Group 1" appearsOnAddInTab="true" keytip="G1">
    <button refID="ProAppModule_Button_RepairName" size="large" />
  </group>
</groups>
<controls>
  <button id="ProAppModule_Button_RepairName" caption="修复图层和表名称" className="Button_RepairName" loadOnClick="true" smallImage="pack://application:,,,/ArcGIS.Desktop.Resources;component/Images/GenericButtonBlue16.png" largeImage="pack://application:,,,/ArcGIS.Desktop.Resources;component/Images/GenericButtonBlue32.png">
    <tooltip heading="Tooltip Heading">Tooltip text<disabledText /></tooltip>
  </button>
</controls>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值