概要
ArcGIS Pro SDK for .NET では、Visual Studio で、ArcGIS Pro の既存コマンドである DAML ID を生成することができます。
DAML ID を生成することによって、下記の利点があげられます。
- 各コマンド(ボタン・ドッキング ウィンドウ・ツールなど)の文字列を、Visual Studio の入力支援機能であるインテリセンスの機能を使用してアクセスできるようになる
- 既存コマンド ID を事前にリファレンスで調べる手間が省ける
- 文字列の ID を手入力することによるミスがなくなる

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

サンプル コード
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);
}
}
}
このナレッジはお役に立ちましたか?
フィードバックをいただきありがとうございます!