Compartilhar via


Classe ElementOperations

Fornece operações comuns que atuam em uma coleção de elementos de modelo.

Hierarquia de herança

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

Namespace:  Microsoft.VisualStudio.Modeling
Assembly:  Microsoft.VisualStudio.Modeling.Sdk.11.0 (em Microsoft.VisualStudio.Modeling.Sdk.11.0.dll)

Sintaxe

'Declaração
Public Class ElementOperations
public class ElementOperations

O tipo ElementOperations expõe os membros a seguir.

Construtores

  Nome Descrição
Método protegido ElementOperations(IServiceProvider) Inicializa uma nova instância da classe ElementOperations.
Método público ElementOperations(IServiceProvider, Partition) Inicializa uma nova instância da classe ElementOperations.
Método público ElementOperations(IServiceProvider, Store) Obsoleta. Inicializa uma nova instância da classe ElementOperations.

Superior

Propriedades

  Nome Descrição
Propriedade protegida Partition
Propriedade protegida ServiceProvider
Propriedade protegida Store

Superior

Métodos

  Nome Descrição
Método protegido AddCustomFormat Adiciona um ou mais formatos de dados personalizados IDataObject especificado usando a coleção especificada do ModelElements.
Método protegido AddElementGroupFormat(IDataObject, ICollection<ModelElement>, ClosureType) Adiciona a formatação de ElementGroupPrototype IDataObject especificado usando a coleção especificada do ModelElements.Este método chama os seguintes métodos substituíveis 3 (em ordem) um.B CreateElementGroup.C MarkRootElements.CreateElementGroupPrototype It, em seguida, stashes o ElementGroupPrototype criado no parâmetro de dados.
Método protegido AddElementGroupFormat(IDataObject, ICollection<ModelElement>, ClosureType, Boolean) Adiciona a formatação de ElementGroupPrototype IDataObject especificado usando a coleção especificada do ModelElements.Podem ser chamados de classes derivadas para forçar a carga de demanda de links de elemento para criar a coleção de elementos de modelo.
Método protegido CanAddCustomFormat Retorna um valor que indica se a coleção ModelElement pode ser usada para criar um formato personalizado.
Método protegido CanAddElementGroupFormat Retorna um valor que indica se a coleção ModelElement pode ser usada para criar um formato de ElementGroupPrototype.
Método público CanCopy(ICollection<ModelElement>) Obtém um valor indicando se a coleção de ModelElements pode ser copiada para um IDataObject.
Método público CanCopy(ICollection<ModelElement>, ClosureType) Obtém um valor indicando se a coleção de ModelElements pode ser copiada para um IDataObject.Chama o CanCopyCore para fazer o trabalho.
Método protegido CanCopyCore Obtém um valor indicando se a coleção de ModelElements pode ser copiada para um IDataObject.
Método público CanDelete(ModelElement, array<Guid[]) Consultar se um elemento especificado pode ser excluído, levando em consideração qualquer IMS bloqueia aplicável a qualquer um dos elementos no fechamento do elemento delete.
Método público CanDelete(IEnumerable<ModelElement>, array<Guid[]) Consultar se um conjunto especificado de elementos pode ser excluído, levando em consideração qualquer IMS bloqueios aplicáveis a qualquer um dos elementos em completo excluir o fechamento dos elementos.
Método público CanMerge Retorna um valor indicando se o ElementGroupPrototype de IDataObject pode ser mesclada (isto é, colado ou descartados) no destino ModelElement.
Método público CanMergeElementGroupPrototype(ModelElement, ElementGroupPrototype) Retorna um valor que indica se o MergeElementGroupPrototype pode ser executada.
Método protegido CanMergeElementGroupPrototype(ModelElement, ProtoElementBase, ElementGroupPrototype) Obtém um valor que indica se MergeElementGroupPrototype pode ser realizada considerando o protótipo de grupo de guindaste e elemento específico.
Método público CanMove Obtém um valor indicando se a coleção de ModelElements pode ser movida.
Método público ChooseMergeTarget(ModelElement, ElementGroup) Obtém o elemento de destino para a mesclagem, dada a proposta targetElement.Por padrão, esse método dará o elemento de destino a oportunidade de alterar o destino pretendido.
Método público ChooseMergeTarget(ModelElement, ElementGroupPrototype) Obtém o elemento de destino para a mesclagem, dada a proposta targetElement.Isso dá a ElementOperations a oportunidade de alterar o destino pretendido para a mesclagem.Por padrão, esse método dará o elemento de destino a oportunidade de alterar o destino pretendido.
Método público Copy(IDataObject, ICollection<ModelElement>) Copia a coleção de ModelElements IDataObject especificado em um ou mais formatos de dados.
Método público Copy(IDataObject, ICollection<ModelElement>, ClosureType) Copia a coleção de ModelElements IDataObject especificado em um ou mais formatos de dados.
Método público Copy(IDataObject, ICollection<ModelElement>, PointF) Copia a coleção de ModelElements IDataObject especificado em um ou mais formatos de dados.
Método público Copy(IDataObject, ICollection<ModelElement>, ClosureType, PointF) Copia a coleção de ModelElements IDataObject especificado em um ou mais formatos de dados.
Método protegido CreateElementGroup Cria um ClosureElementGroup
Método protegido CreateElementGroupPrototype
Método público Equals Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object.)
Método protegido Finalize Permite que um objeto tentar liberar recursos e realizar outras operações de limpeza antes de ser recuperados pela coleta de lixo. (Herdado de Object.)
Método públicoMembro estático GetClipboardDataObject Retorna um IDataObject da área de transferência se ela contiver nosso formato ElementGroupPrototype, caso contrário, nulo.
Método públicoMembro estático GetElementGroupPrototype Obtém o ElementGroupPrototype do DataObject se ele existir.
Método público GetHashCode Serve como uma função de hash para um tipo específico. (Herdado de Object.)
Método protegidoMembro estático GetModelingToolboxItemDisplayName Se o IDataObject contiver um ModelingToolboxItem, isso retorna seu DisplayName, caso contrário, nulo.
Método público GetType Obtém Type da instância atual. (Herdado de Object.)
Método públicoMembro estático IsElementGroupPrototypeFormatAvailable Retorna true se o formato de área de transferência de ElementGroupPrototype está disponível na área de transferência, caso contrário, false.
Método protegido MarkRootElements Marcar RootElements no parâmetro elementGroup.
Método protegido MemberwiseClone Cria uma cópia superficial de Objectatual. (Herdado de Object.)
Método público Merge Mesclagens (isto é, cola ou descartes) a ElementGroupPrototype de IDataObject no destino ModelElement.
Método público MergeElementGroup Mescla a fonte de ElementGroup com o destino especificado ModelElement.
Método público MergeElementGroupPrototype Mescla a fonte de ElementGroupPrototype com o destino especificado ModelElement.
Método protegido OnElementsReconstituted Chamado por MergeElementGroupPrototype imediatamente após tem sido reconstituídos, os elementos a partir de ElementGroupPrototype, mas antes que eles estão conectados ao restante do modelo.
Método protegido OnMerged Chamado por MergeElementGroupPrototype imediatamente antes da transação local está comprometida.As regras são colocadas em fila durante a transação local e acionadas quando a transação seja confirmada.A transação local quebra com a recomposição e conectando-se elementos.
Método protegido OnMerging Chamado por MergeElementGroupPrototype imediatamente após o elemento de destino foi escolhido, mas antes de tem sido reconstituídos, os elementos a partir de ElementGroupPrototype.
Método protegido PropagateElementGroupContextToTransaction Propaga o contexto presente no grupo de elemento para a transação de nível superior atualmente ativa.
Método público ToString Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object.)

Superior

Eventos

  Nome Descrição
Evento público ElementsReconstituted Chamado por MergeElementGroupPrototype imediatamente após tem sido reconstituídos, os elementos a partir de ElementGroupPrototype, mas antes que eles estão conectados ao restante do modelo.
Evento público Merged Chamado por MergeElementGroupPrototype imediatamente antes da transação local está comprometida.As regras são colocadas em fila durante a transação local e acionadas quando a transação seja confirmada.A transação local quebra com a recomposição e conectando-se elementos.
Evento público Merging Chamado por MergeElementGroupPrototype imediatamente após o elemento de destino foi escolhido, mas antes de tem sido reconstituídos, os elementos a partir de ElementGroupPrototype.

Superior

Comentários

Derive dessa classe para criar formatos de dados personalizados para cópia e operações de colagem.Na sua classe de diagrama, substituir ElementOperations para retornar uma instância do seu ElementOperations subclasse.Você deve retornar a mesma instância de cada chamada.

Para obter mais informações, consulte Como: cópia do programa e o comportamento de colagem - redirecionar.

Exemplos

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
  }

Acesso thread-safe

Quaisquer membros estático (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Consulte também

Referência

Namespace Microsoft.VisualStudio.Modeling