ESRIジャパン株式会社

ArcGIS Pro SDK: DAML ID の生成方法

ナレッジ ID: 22676 | 公開日: 2023年5月29日 | 更新日: 2026年7月7日

概要

ArcGIS Pro SDK for .NET では、Visual Studio で、ArcGIS Pro の既存コマンドである DAML ID を生成することができます。

DAML ID を生成することによって、下記の利点があげられます。

  • 各コマンド(ボタン・ドッキング ウィンドウ・ツールなど)の文字列を、Visual Studio の入力支援機能であるインテリセンスの機能を使用してアクセスできるようになる
  • 既存コマンド ID を事前にリファレンスで調べる手間が省ける
  • 文字列の ID を手入力することによるミスがなくなる

Image

DAML ID の生成方法

Visual Studio の [ソリューション エクスプローラー] で作成したプロジェクトを右クリックし、[ArcGIS Pro の DAML ID を生成] をクリックで作成できます。すると、[ソリューション エクスプローラー] で新たに Daml.cs ファイルが作成されます。


Image


サンプル コード

DAML ID の生成方法すると、サンプルのように、既存のコマンドにアクセスするコードが記述できるようになります。
サンプルでは、ボタンをクリックすることでジオプロセシング ツールの [属性検索] ツールを呼び出しています。

ArcGIS Pro の既存コマンド ID の検索は、下記ページをご参照ください。
ArcGIS Pro DAML ID Reference

using ArcGIS.Desktop.Framework;
using ArcGIS.Desktop.Framework.Contracts;
using System.Windows.Input;

protected override void OnClick()
{
   //GetPlugInWrapper() メソッドに「属性検索ツール」の ID を参照
   //DAML ID を作成していない場合は文字列で直接 "esri_geoprocessing_selectByAttributeButton" と記述
   IPlugInWrapper pluginWarpper = FrameworkApplication.GetPlugInWrapper(DAML.Button.esri_geoprocessing_selectByAttributeButton);

   //ICommand インターフェイスにキャスト
   ICommand commandId = (ICommand)pluginWarpper ;
   if (commandId != null)
   {
      //コマンドが実行可能かどうか判定
      if (commandId.CanExecute(null))
      {
         //コマンド起動
         commandId.Execute(null);
      }
   }
}

Image

このナレッジはお役に立ちましたか?

はい
いいえ
フィードバックをいただきありがとうございます!