Поделиться через


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 Добавляет одну или несколько пользовательских форматов данных в указанный IDataObject с использованием указанной коллекции ModelElements.
Защищенный метод AddElementGroupFormat(IDataObject, ICollection<ModelElement>, ClosureType) Добавляет формат ElementGroupPrototype в указанный IDataObject с использованием указанной коллекции ModelElements.Этот метод вызывает следующие 3 переопределяемых метода (по порядку) a.CreateElementGroup b.MarkRootElements в.CreateElementGroupPrototype Затем убирает созданный ElementGroupPrototype в параметр данных.
Защищенный метод AddElementGroupFormat(IDataObject, ICollection<ModelElement>, ClosureType, Boolean) Добавляет формат ElementGroupPrototype в указанный IDataObject с использованием указанной коллекции ModelElements.Может быть вызван из производных классов для принудительной загрузки ссылок элемента, чтобы создать коллекцию элементов модели.
Защищенный метод CanAddCustomFormat Возвращает значение, показывающее, доступна ли коллекция ModelElement для создания пользовательского формата.
Защищенный метод CanAddElementGroupFormat Возвращает значение, показывающее, доступна ли коллекция ModelElement для создания формата ElementGroupPrototype.
Открытый метод CanCopy(ICollection<ModelElement>) Получает значение, позволяющее определить, можно ли скопировать коллекцию ModelElements в IDataObject.
Открытый метод CanCopy(ICollection<ModelElement>, ClosureType) Получает значение, позволяющее определить, можно ли скопировать коллекцию ModelElements в IDataObject.Вызывает CanCopyCore для работы.
Защищенный метод CanCopyCore Получает значение, позволяющее определить, можно ли скопировать коллекцию ModelElements в IDataObject.
Открытый метод CanDelete(ModelElement, array<Guid[]) Запрос, можно ли удалить указанный элемент, учитывая любые применимые блокировки IMS любых элементов при закрытии, связанном с удалением элемента.
Открытый метод CanDelete(IEnumerable<ModelElement>, array<Guid[]) Запрос, можно ли удалить указанный набор элементов, учитывая любые применимые блокировки IMS любых элементов при закрытии, связанном с полным удалением элементов.
Открытый метод CanMerge Возвращает значение, указывающее, является ли ElementGroupPrototype из IDataObject можно объединить (то есть когда или удаленного) в целевой объект 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>) Копирует коллекцию ModelElements в указанный IDataObject в одном или нескольких форматах данных.
Открытый метод Copy(IDataObject, ICollection<ModelElement>, ClosureType) Копирует коллекцию ModelElements в указанный IDataObject в одном или нескольких форматах данных.
Открытый метод Copy(IDataObject, ICollection<ModelElement>, PointF) Копирует коллекцию ModelElements в указанный IDataObject в одном или нескольких форматах данных.
Открытый метод Copy(IDataObject, ICollection<ModelElement>, ClosureType, PointF) Копирует коллекцию ModelElements в указанный IDataObject в одном или нескольких форматах данных.
Защищенный метод CreateElementGroup Создает ClosureElementGroup
Защищенный метод CreateElementGroupPrototype
Открытый метод Equals Определяет, равен ли заданный объект текущему объекту. (Унаследовано от Object.)
Защищенный метод Finalize Позволяет объекту попытаться освободить ресурсы и выполнить другие операции очистки, перед тем как объект будет утилизирован в процессе сборки мусора. (Унаследовано от Object.)
Открытый методСтатический член GetClipboardDataObject Возвращает IDataObject из буфера обмена, если он содержит наш формат ElementGroupPrototype, в противном случае – null.
Открытый методСтатический член GetElementGroupPrototype Получает ElementGroupPrototype из DataObject, если он существует.
Открытый метод GetHashCode Служит хэш-функцией по умолчанию. (Унаследовано от Object.)
Защищенный методСтатический член GetModelingToolboxItemDisplayName Если IDataObject содержит ModelingToolboxItem, возвращается его DisplayName, в противном случае — значение null.
Открытый метод GetType Возвращает объект Type для текущего экземпляра. (Унаследовано от Object.)
Открытый методСтатический член IsElementGroupPrototypeFormatAvailable Возвращает значение true, если формат буфера обмена ElementGroupPrototype доступен в буфере обмена; в противном случае – значение false.
Защищенный метод MarkRootElements Помечает элементы RootElement в параметре elementGroup.
Защищенный метод MemberwiseClone Создает неполную копию текущего объекта Object. (Унаследовано от Object.)
Открытый метод Merge Оптимизатором (то есть, вставить или удалить) ElementGroupPrototype из IDataObject к целевому объекту ModelElement.
Открытый метод MergeElementGroup Объединяет исходный ElementGroup с указанным целевым ModelElement.
Открытый метод MergeElementGroupPrototype Объединяет исходный ElementGroupPrototype с указанным целевым ModelElement.
Защищенный метод OnElementsReconstituted Вызывается MergeElementGroupPrototype сразу после того, как воспроизвелись элементы из ElementGroupPrototype, но до того, как они подключены к остальной модели.
Защищенный метод OnMerged Вызывается MergeElementGroupPrototype сразу после того, как локальная транзакция фиксируются.Правила устанавливаются в очередь во время локальной транзакции и применяются при фиксации транзакции.Локальная транзакция упаковывает реконструирующие и соединяющие элементы.
Защищенный метод OnMerging Вызывается MergeElementGroupPrototype сразу после того, как выбран целевой элемент, но до того, как воспроизвелись элементы из ElementGroupPrototype.
Защищенный метод PropagateElementGroupContextToTransaction Распространяет контекст, присутствующий в группе элемента, на активную в настоящий момент транзакцию верхнего уровня.
Открытый метод ToString Возвращает строку, представляющую текущий объект. (Унаследовано от Object.)

В начало страницы

События

  Имя Описание
Открытое событие ElementsReconstituted Вызывается MergeElementGroupPrototype сразу после того, как воспроизвелись элементы из ElementGroupPrototype, но до того, как они подключены к остальной модели.
Открытое событие Merged Вызывается MergeElementGroupPrototype сразу после того, как локальная транзакция фиксируются.Правила устанавливаются в очередь во время локальной транзакции и применяются при фиксации транзакции.Локальная транзакция упаковывает реконструирующие и соединяющие элементы.
Открытое событие Merging Вызывается MergeElementGroupPrototype сразу после того, как выбран целевой элемент, но до того, как воспроизвелись элементы из ElementGroupPrototype.

В начало страницы

Заметки

Наследование от этого класса для создания пользовательских форматов данных для копирования и вставить операции. В классе схемы, переопределите 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 (Shared в Visual Basic), являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.

См. также

Ссылки

Microsoft.VisualStudio.Modeling - пространство имен