Condividi tramite


Classe ModelingPackage

Una volta sottoposto a override in una classe derivata, rappresenta il package VS per la finestra di progettazione del linguaggio specifico di dominio.

Questa API non è conforme a CLS. 

Gerarchia di ereditarietà

System.Object
  Microsoft.VisualStudio.Shell.Package
    Microsoft.VisualStudio.Modeling.Shell.ModelingPackage

Spazio dei nomi:  Microsoft.VisualStudio.Modeling.Shell
Assembly:  Microsoft.VisualStudio.Modeling.Sdk.Shell.11.0 (in Microsoft.VisualStudio.Modeling.Sdk.Shell.11.0.dll)

Sintassi

'Dichiarazione
<CLSCompliantAttribute(False)> _
<ComVisibleAttribute(True)> _
Public MustInherit Class ModelingPackage _
    Inherits Package _
    Implements IVsToolWindowFactory
[CLSCompliantAttribute(false)]
[ComVisibleAttribute(true)]
public abstract class ModelingPackage : Package, 
    IVsToolWindowFactory

Il tipo ModelingPackage espone i seguenti membri.

Costruttori

  Nome Descrizione
Metodo protetto ModelingPackage Inizializza una nuova istanza di ModelingPackage classe.

In alto

Proprietà

  Nome Descrizione
Proprietà pubblica ApplicationRegistryRoot (Ereditato da Package)
Proprietà pubblica Locator Ottiene il localizzatore l'elemento del modello, che individua elementi di modellazione nel pacchetto.
Proprietà protetta. SetupMode Ottiene il pacchetto di modellizzazione e verifica se la finestra di progettazione del linguaggio specifico di dominio non venga eseguita impostazione.
Proprietà pubblica UserDataPath (Ereditato da Package)
Proprietà pubblica UserLocalDataPath (Ereditato da Package)
Proprietà pubblica UserRegistryRoot (Ereditato da Package)
Proprietà pubblica Zombied (Ereditato da Package)

In alto

Metodi

  Nome Descrizione
Metodo protetto AddOptionKey (Ereditato da Package)
Metodo pubblicoMembro statico AddOrReplaceToolboxItem Obsoleta. Aggiungere un elemento della casella degli strumenti se non è presente.Sostituirà un elemento della casella degli strumenti esistente se l'elemento è già presente
Metodo protetto AddToolboxItems Aggiungere la raccolta passata di elementi di ModelingToolboxItemBase nella casella degli strumenti di Visual Studio.
Metodo protetto AddToolWindow Aggiunge una finestra degli strumenti alla finestra di progettazione generata per un linguaggio specifico di dominio.
Metodo pubblico CreateInstance (Ereditato da Package)
Metodo protetto CreateLocator Crea un indicatore di posizione dell'elemento del modello per il pacchetto.
Metodo pubblico CreateTool (Ereditato da Package)
Metodo protetto CreateToolboxItems Crea gli elementi della casella degli strumenti.
Metodo protetto CreateToolWindow(Type, Int32) (Ereditato da Package)
Metodo pubblico CreateToolWindow(Guid%, UInt32) Crea una finestra degli strumenti.
Metodo protetto Dispose (Ereditato da Package)
Metodo pubblico Equals Determina se l'oggetto specificato equivale all'oggetto corrente. (Ereditato da Object)
Metodo protetto Finalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblico FindToolWindow (Ereditato da Package)
Metodo pubblico FindWindowPane (Ereditato da Package)
Metodo protetto GetAutomationObject (Ereditato da Package)
Metodo protetto GetDialogPage (Ereditato da Package)
Metodo pubblico GetHashCode Funge da funzione hash per un determinato tipo. (Ereditato da Object)
Metodo pubblico GetOutputPane (Ereditato da Package)
Metodo pubblico GetProviderLocale (Ereditato da Package)
Metodo protetto GetService (Ereditato da Package)
Metodo protetto GetToolboxItemData (Ereditato da Package)
Metodo pubblico GetToolWindow(Type) Ottiene una finestra degli strumenti.
Metodo pubblico GetToolWindow(Type, Boolean) Ottiene una finestra degli strumenti.
Metodo pubblico GetType Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo protetto Initialize inizializza ModelingPackage classe. (Esegue l'override di Package.Initialize()).
Metodo protetto MemberwiseClone Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo protetto OnLoadOptions (Ereditato da Package)
Metodo protetto OnSaveOptions (Ereditato da Package)
Metodo protetto OnToolboxInitialized Il gestore eventi per l'evento di ToolboxInitialized elementi della casella degli strumenti dinamici/personalizzati ri-sarà registrato.
Metodo protetto OnToolboxUpgraded Il gestore eventi per l'evento di ToolboxUpgraded elementi della casella degli strumenti dinamici/personalizzati ri-sarà registrato.
Metodo protetto ParseToolboxResource(TextReader, ResourceManager) (Ereditato da Package)
Metodo protetto ParseToolboxResource(TextReader, Guid) (Ereditato da Package)
Metodo protetto QueryClose (Ereditato da Package)
Metodo protetto RegisterEditorFactory (Ereditato da Package)
Metodo protetto RegisterProjectFactory (Ereditato da Package)
Metodo protetto SetupDynamicToolbox Aggiornare gli elementi della casella degli strumenti.
Metodo pubblico ShowOptionPage (Ereditato da Package)
Metodo pubblico ToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)

In alto

Eventi

  Nome Descrizione
Evento protetto ToolboxInitialized (Ereditato da Package)
Evento protetto ToolboxUpgraded (Ereditato da Package)

In alto

Implementazioni esplicite dell'interfaccia

  Nome Descrizione
Implementazione esplicita dell'interfacciaMetodo privato IServiceContainer.AddService(Type, Object) (Ereditato da Package)
Implementazione esplicita dell'interfacciaMetodo privato IServiceContainer.AddService(Type, ServiceCreatorCallback) (Ereditato da Package)
Implementazione esplicita dell'interfacciaMetodo privato IServiceContainer.AddService(Type, Object, Boolean) (Ereditato da Package)
Implementazione esplicita dell'interfacciaMetodo privato IServiceContainer.AddService(Type, ServiceCreatorCallback, Boolean) (Ereditato da Package)
Implementazione esplicita dell'interfacciaMetodo privato IVsPackage.Close (Ereditato da Package)
Implementazione esplicita dell'interfacciaMetodo privato IVsToolWindowFactory.CreateToolWindow (Ereditato da Package)
Implementazione esplicita dell'interfacciaMetodo privato IOleCommandTarget.Exec (Ereditato da Package)
Implementazione esplicita dell'interfacciaMetodo privato IVsUserSettings.ExportSettings (Ereditato da Package)
Implementazione esplicita dell'interfacciaMetodo privato IVsPackage.GetAutomationObject (Ereditato da Package)
Implementazione esplicita dell'interfacciaMetodo privato IVsToolboxItemProvider.GetItemContent (Ereditato da Package)
Implementazione esplicita dell'interfacciaMetodo privato IVsPackage.GetPropertyPage (Ereditato da Package)
Implementazione esplicita dell'interfacciaMetodo privato IServiceProvider.GetService (Ereditato da Package)
Implementazione esplicita dell'interfacciaMetodo privato IVsUserSettings.ImportSettings (Ereditato da Package)
Implementazione esplicita dell'interfacciaMetodo privato IVsPersistSolutionOpts.LoadUserOptions (Ereditato da Package)
Implementazione esplicita dell'interfacciaMetodo privato IVsUserSettingsMigration.MigrateSettings (Ereditato da Package)
Implementazione esplicita dell'interfacciaMetodo privato IVsUserSettingsQuery.NeedExport (Ereditato da Package)
Implementazione esplicita dell'interfacciaMetodo privato IVsPackage.QueryClose (Ereditato da Package)
Implementazione esplicita dell'interfacciaMetodo privato IServiceProvider.QueryService (Ereditato da Package)
Implementazione esplicita dell'interfacciaMetodo privato IOleCommandTarget.QueryStatus (Ereditato da Package)
Implementazione esplicita dell'interfacciaMetodo privato IVsPersistSolutionOpts.ReadUserOptions (Ereditato da Package)
Implementazione esplicita dell'interfacciaMetodo privato IServiceContainer.RemoveService(Type) (Ereditato da Package)
Implementazione esplicita dell'interfacciaMetodo privato IServiceContainer.RemoveService(Type, Boolean) (Ereditato da Package)
Implementazione esplicita dell'interfacciaMetodo privato IVsPackage.ResetDefaults (Ereditato da Package)
Implementazione esplicita dell'interfacciaMetodo privato IVsPersistSolutionOpts.SaveUserOptions (Ereditato da Package)
Implementazione esplicita dell'interfacciaMetodo privato IVsPackage.SetSite (Ereditato da Package)
Implementazione esplicita dell'interfacciaMetodo privato IVsPersistSolutionOpts.WriteUserOptions (Ereditato da Package)

In alto

Note

Utilizzare questa classe per caricare un pacchetto di linguaggio specifico di dominio, che registra una factory dell'editor con Visual Studio.Visual Studio chiama la factory dell'editor, che crea la finestra di progettazione generata per il linguaggio specifico di dominio.Oltre a registrare le factory dell'editor, è possibile utilizzare questa classe per registrare le finestre degli strumenti.

Questa classe include il supporto di menu a livello del pacchetto.Pacchetti che le finestre degli strumenti di supporto sono necessarie distribuire IVsToolWindowFactory.

Esempi

Nell'esempio seguente viene aggiunta una finestra degli strumenti denominata Finestra degli strumenti personalizzata nella finestra di progettazione generata un'eccezione.Quando si apre il progetto nella finestra di progettazione generata un'eccezione, la scheda per questa finestra viene visualizzato accanto a Esplora soluzioni.Quando si fa clic sulla scheda della finestra, un'etichetta che legge Si tratta della finestra degli strumenti personalizzata verrà visualizzata al centro della finestra degli strumenti

Tramite questo codice vengono registrate la finestra degli strumenti:

using VSShellInterop = Microsoft.VisualStudio.Shell.Interop;
using VSShell = Microsoft.VisualStudio.Shell;
using DslShell = Microsoft.VisualStudio.Modeling.Shell;
using DslDesign = Microsoft.VisualStudio.Modeling.Design;
using VSTextTemplatingHost = Microsoft.VisualStudio.TextTemplating.VSHost;

namespace MS.RegisterTools
{
    [VSShell::ProvideToolWindowVisibility(typeof(CustomToolWindow), 
              Constants.RegisterToolsEditorFactoryId)]
    [VSShell::ProvideToolWindow(typeof(CustomToolWindow), 
              MultiInstances = false, 
              Style = VSShell::VsDockStyle.Tabbed, 
              Orientation = VSShell::ToolWindowOrientation.Right, 
              Window = "{3AE79031-E1BC-11D0-8F78-00A0C9110057}")]

    internal partial class RegisterToolsPackage
    {
        //Initializes the base class for the package
        protected override void Initialize()
        {
            base.Initialize();

            //Registers the custom tool window
            this.AddToolWindow(typeof(CustomToolWindow));
        }
    }
}

Questo codice definisce la finestra degli strumenti:

using System;
using System.Windows.Forms;
using VSShellInterop = Microsoft.VisualStudio.Shell.Interop;
using VSShell = Microsoft.VisualStudio.Shell;
using DslShell = Microsoft.VisualStudio.Modeling.Shell;
using DslDesign = Microsoft.VisualStudio.Modeling.Design;
using VSTextTemplatingHost = Microsoft.VisualStudio.TextTemplating.VSHost;

namespace MS.RegisterTools
{

    //Creates a tool window and gives it a title, icon, and label
    internal class CustomToolWindow : DslShell.ToolWindow
    {

        //defines a label
  private Label myLabel;
        
        //creates the tool window
  public CustomToolWindow(IServiceProvider serviceProvider) : base(serviceProvider)
  { 
  }

        //gets the icon for the tool window
        protected override int BitmapResource
        {
            get { return 104; }
        }

        //gets the index for the icon
        protected override int BitmapIndex
        {
            get { return 0; }
        }

        //gets the name of the tool window
        public override string WindowTitle
        {
            get { return "Custom Window"; }
        }

        //sets up a label
  protected override void OnToolWindowCreate()
  {
      this.myLabel = new Label();
this.myLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.myLabel.Text = "This is the custom tool window";
   }

        //puts a label on the tool window
  public override System.Windows.Forms.IWin32Window Window
  {
       get { return this.myLabel; }
  }
    }
}

Codice thread safe

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Vedere anche

Riferimenti

Spazio dei nomi Microsoft.VisualStudio.Modeling.Shell

IVsToolWindowFactory

IVsPackage