次の方法で共有


ElementOperations クラス

モデル要素のコレクション上で機能する一般的な操作を提供します。

継承階層

System.Object
  Microsoft.VisualStudio.Modeling.ElementOperations
    Microsoft.VisualStudio.Modeling.Diagrams.DesignSurfaceElementOperations

名前空間:  Microsoft.VisualStudio.Modeling
アセンブリ:  Microsoft.VisualStudio.Modeling.Sdk.12.0 (Microsoft.VisualStudio.Modeling.Sdk.12.0.dll 内)

構文

'宣言
Public Class ElementOperations
public class ElementOperations

ElementOperations 型で公開されるメンバーは以下のとおりです。

コンストラクター

  名前 説明
プロテクト メソッド ElementOperations(IServiceProvider) ElementOperations クラスの新しいインスタンスを初期化します。
パブリック メソッド ElementOperations(IServiceProvider, Partition) ElementOperations クラスの新しいインスタンスを初期化します。
パブリック メソッド ElementOperations(IServiceProvider, Store) 互換性のために残されています。ElementOperations クラスの新しいインスタンスを初期化します。

このページのトップへ

プロパティ

  名前 説明
プロテクト プロパティ Partition
プロテクト プロパティ ServiceProvider
プロテクト プロパティ Store

このページのトップへ

メソッド

  名前 説明
プロテクト メソッド AddCustomFormat ModelElements の指定のコレクションを使用して、指定された IDataObject に 1 つ以上のカスタム データ形式を追加します。
プロテクト メソッド AddElementGroupFormat(IDataObject, ICollection<ModelElement>, ClosureType) ModelElements の指定のコレクションを使用して、指定された IDataObject に ElementGroupPrototype 形式を追加します。このメソッドは、3 種類のオーバーライド可能なメソッドを次の順序で呼び出します。a.CreateElementGroup b.MarkRootElements c.CreateElementGroupPrototype 次に、作成された ElementGroupPrototype をデータ パラメーターに隠匿します。
プロテクト メソッド AddElementGroupFormat(IDataObject, ICollection<ModelElement>, ClosureType, Boolean) ModelElements の指定のコレクションを使用して、指定された IDataObject に ElementGroupPrototype 形式を追加します。モデル要素のコレクションを作成するために、派生クラスから呼び出して、要素のリンクを強制的に読み込むことができます。
プロテクト メソッド CanAddCustomFormat カスタム書式の作成に ModelElement コレクションが使用できるかどうかを示す値を返します。
プロテクト メソッド CanAddElementGroupFormat ElementGroupPrototype 書式の作成に ModelElement コレクションが使用できるかどうかを示す値を返します。
パブリック メソッド CanCopy(ICollection<ModelElement>) ModelElement のコレクションを IDataObject にコピーできるかどうかを示す値を取得します。
パブリック メソッド CanCopy(ICollection<ModelElement>, ClosureType) ModelElement のコレクションを IDataObject にコピーできるかどうかを示す値を取得します。作業を行うために CanCopyCore を呼び出します。
プロテクト メソッド CanCopyCore ModelElement のコレクションを IDataObject にコピーできるかどうかを示す値を取得します。
パブリック メソッド CanDelete(ModelElement, array<Guid[]) 要素の削除クロージャ中の任意の要素に適用できる IMS ロックを考慮に入れ、指定された要素を削除できるかどうかクエリします。
パブリック メソッド CanDelete(IEnumerable<ModelElement>, array<Guid[]) 要素の完全な削除クロージャ中の任意の要素に適用できる IMS ロックを考慮に入れ、指定された複数の要素を削除できるかどうかクエリします。
パブリック メソッド CanMerge IDataObject から ElementGroupPrototype がターゲット ModelElement に (つまり、貼り付けたまたは削除) マージできるかどうかを示す値を返します。
パブリック メソッド CanMergeElementGroupPrototype(ModelElement, ElementGroupPrototype) MergeElementGroupPrototype を実行できるかどうかを示す値を返します。
プロテクト メソッド CanMergeElementGroupPrototype(ModelElement, ProtoElementBase, ElementGroupPrototype) 特定のホイストおよび要素グループ プロトタイプが指定されている場合に MergeElementGroupPrototype を実行できるかどうかを示す値を取得します。
パブリック メソッド CanMove ModelElements コレクション内の項目を移動できるかどうかを示す値を取得します。
パブリック メソッド ChooseMergeTarget(ModelElement, ElementGroup) targetElement が提示された場合、マージ用のターゲット要素を取得します。既定では、このメソッドは、ターゲット要素が目的のターゲットを変更できるようにします。
パブリック メソッド ChooseMergeTarget(ModelElement, ElementGroupPrototype) targetElement が提示された場合、マージ用のターゲット要素を取得します。これにより、目的のマージ ターゲットを変更する機会が ElementOperations に与えられます。既定では、このメソッドは、ターゲット要素が目的のターゲットを変更できるようにします。
パブリック メソッド Copy(IDataObject, ICollection<ModelElement>) 1 つ以上のデータ形式の指定された IDataObject に ModelElements のコレクションをコピーします。
パブリック メソッド Copy(IDataObject, ICollection<ModelElement>, ClosureType) 1 つ以上のデータ形式の指定された IDataObject に ModelElements のコレクションをコピーします。
パブリック メソッド Copy(IDataObject, ICollection<ModelElement>, PointF) 1 つ以上のデータ形式の指定された IDataObject に ModelElements のコレクションをコピーします。
パブリック メソッド Copy(IDataObject, ICollection<ModelElement>, ClosureType, PointF) 1 つ以上のデータ形式の指定された IDataObject に ModelElements のコレクションをコピーします。
プロテクト メソッド CreateElementGroup ClosureElementGroup を作成します
プロテクト メソッド CreateElementGroupPrototype
パブリック メソッド Equals 指定のオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (Object から継承されます。)
プロテクト メソッド Finalize オブジェクトがガベージ コレクションにより収集される前に、そのオブジェクトがリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッド静的メンバー GetClipboardDataObject ElementGroupPrototype 形式が含まれている場合はクリップボードから IDataObject を返し、それ以外の場合は null を返します。
パブリック メソッド静的メンバー GetElementGroupPrototype DataObject から ElementGroupPrototype を取得します (存在する場合)。
パブリック メソッド GetHashCode 既定のハッシュ関数として機能します。 (Object から継承されます。)
プロテクト メソッド静的メンバー GetModelingToolboxItemDisplayName IDataObject に ModelingToolboxItem が含まれている場合は、その DisplayName を返します。それ以外の場合は、null を返します。
パブリック メソッド GetType 現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッド静的メンバー IsElementGroupPrototypeFormatAvailable ElementGroupPrototype のクリップボード形式がクリップボードで使用できる場合は true、それ以外の場合は false を返します。
プロテクト メソッド MarkRootElements elementGroup パラメーターの RootElements をマークします。
プロテクト メソッド MemberwiseClone 現在の Object の簡易コピーを作成します。 (Object から継承されます。)
パブリック メソッド Merge (つまり、貼り付けまたはドロップ) IDataObject からターゲット ModelElement に ElementGroupPrototype をマージします。
パブリック メソッド MergeElementGroup ソース ElementGroup を指定されたターゲット ModelElement とマージします。
パブリック メソッド MergeElementGroupPrototype ソース ElementGroupPrototype を指定されたターゲット ModelElement とマージします。
プロテクト メソッド OnElementsReconstituted ElementGroupPrototype の要素が再構築された直後、ただし、それらがモデルの残りの部分に接続される前に MergeElementGroupPrototype によって呼び出されます。
プロテクト メソッド OnMerged ローカル トランザクションがコミットされる直前に MergeElementGroupPrototype によって呼び出されます。規則は、ローカル トランザクション中にキューに置かれ、トランザクションがコミットすると適用されます。ローカル トランザクションは、再構成要素および接続要素をラップします。
プロテクト メソッド OnMerging ターゲット要素が選択された直後、ただし、ElementGroupPrototype の要素が再構築される前に MergeElementGroupPrototype によって呼び出されます。
プロテクト メソッド PropagateElementGroupContextToTransaction 要素グループに存在するコンテキストを現在アクティブなトップレベル トランザクションに反映します。
パブリック メソッド ToString 現在のオブジェクトを表す文字列を返します。 (Object から継承されます。)

このページのトップへ

イベント

  名前 説明
パブリック イベント ElementsReconstituted ElementGroupPrototype の要素が再構築された直後、ただし、それらがモデルの残りの部分に接続される前に MergeElementGroupPrototype によって呼び出されます。
パブリック イベント Merged ローカル トランザクションがコミットされる直前に MergeElementGroupPrototype によって呼び出されます。規則は、ローカル トランザクション中にキューに置かれ、トランザクションがコミットすると適用されます。ローカル トランザクションは、再構成要素および接続要素をラップします。
パブリック イベント Merging ターゲット要素が選択された直後、ただし、ElementGroupPrototype の要素が再構築される前に MergeElementGroupPrototype によって呼び出されます。

このページのトップへ

解説

カスタム データ形式を作成するには、このクラスからコピーして貼り付け動作を派生してください。 クラス図では、ElementOperations のサブクラスのインスタンスを返すように ElementOperations をオーバーライドします。 すべての呼び出しで同じインスタンスを返す必要があります。

詳細については、「方法: プログラムのコピー動作および貼り付け動作 - リダイレクト」を参照してください。

using Microsoft.VisualStudio.Modeling;
using Microsoft.VisualStudio.Modeling.Diagrams;
using Microsoft.VisualStudio.Modeling.Diagrams.ExtensionEnablement;

  public partial class MyDslDiagram
  {
    public override DesignSurfaceElementOperations ElementOperations
    {
      get
      {
        if (this.elementOperations == null)
        {
          this.elementOperations = new MyElementOperations(this.Store as IServiceProvider, this);
        }
        return this.elementOperations;
      }
    }
    private MyElementOperations elementOperations = null;
  }

  public class MyElementOperations : DesignSurfaceElementOperations
  {
    public MyElementOperations(IServiceProvider serviceProvider, MyDslDiagram diagram)
      : base(serviceProvider, diagram)
    { }
    // Overridden methods follow
  }

スレッド セーフ

この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

参照

関連項目

Microsoft.VisualStudio.Modeling 名前空間