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


ModelingPackage - класс

При переопределении в производном классе представляет VSPackage для конструктора доменного языка.

Этот интерфейс API CLS-несовместим. 

Иерархия наследования

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

Пространство имен:  Microsoft.VisualStudio.Modeling.Shell
Сборка:  Microsoft.VisualStudio.Modeling.Sdk.Shell.11.0 (в Microsoft.VisualStudio.Modeling.Sdk.Shell.11.0.dll)

Синтаксис

'Декларация
<CLSCompliantAttribute(False)> _
<ComVisibleAttribute(True)> _
Public MustInherit Class ModelingPackage _
    Inherits Package _
    Implements IVsToolWindowFactory
[CLSCompliantAttribute(false)]
[ComVisibleAttribute(true)]
public abstract class ModelingPackage : Package, 
    IVsToolWindowFactory

Тип ModelingPackage предоставляет следующие члены.

Конструкторы

  Имя Описание
Защищенный метод ModelingPackage Инициализирует новый экземпляр класса ModelingPackage.

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

Свойства

  Имя Описание
Открытое свойство ApplicationRegistryRoot (Унаследовано от Package.)
Открытое свойство Locator Получает указатель элемента модели, находящий моделирование элементов в пакете.
Защищенное свойство SetupMode Возвращает пакет моделирования и проверяет, может ли конструктор доменного языка установки.
Открытое свойство UserDataPath (Унаследовано от Package.)
Открытое свойство UserLocalDataPath (Унаследовано от Package.)
Открытое свойство UserRegistryRoot (Унаследовано от Package.)
Открытое свойство Zombied (Унаследовано от Package.)

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

Методы

  Имя Описание
Защищенный метод AddOptionKey (Унаследовано от Package.)
Открытый методСтатический член AddOrReplaceToolboxItem Устаревший. Добавьте элемент панели инструментов, если он отсутствует.Заменяет существующий элемент панели инструментов, если элемент уже существует
Защищенный метод AddToolboxItems Добавьте передаваемая коллекция элементов ModelingToolboxItemBase в область элементов Visual Studio.
Защищенный метод AddToolWindow Добавляет окно инструментов к созданному конструктору для доменного языка.
Открытый метод CreateInstance (Унаследовано от Package.)
Защищенный метод CreateLocator Создает средство поиска элемента модели для пакета.
Открытый метод CreateTool (Унаследовано от Package.)
Защищенный метод CreateToolboxItems Создает элементы в области элементов.
Защищенный метод CreateToolWindow(Type, Int32) (Унаследовано от Package.)
Открытый метод CreateToolWindow(Guid%, UInt32) Создает окно инструментов.
Защищенный метод Dispose (Унаследовано от Package.)
Открытый метод Equals Определяет, равен ли заданный объект текущему объекту. (Унаследовано от Object.)
Защищенный метод Finalize Позволяет объекту попытаться освободить ресурсы и выполнить другие операции очистки, перед тем как объект будет утилизирован в процессе сборки мусора. (Унаследовано от Object.)
Открытый метод FindToolWindow (Унаследовано от Package.)
Открытый метод FindWindowPane (Унаследовано от Package.)
Защищенный метод GetAutomationObject (Унаследовано от Package.)
Защищенный метод GetDialogPage (Унаследовано от Package.)
Открытый метод GetHashCode Играет роль хэш-функции для определенного типа. (Унаследовано от Object.)
Открытый метод GetOutputPane (Унаследовано от Package.)
Открытый метод GetProviderLocale (Унаследовано от Package.)
Защищенный метод GetService (Унаследовано от Package.)
Защищенный метод GetToolboxItemData (Унаследовано от Package.)
Открытый метод GetToolWindow(Type) Получает окно инструментов.
Открытый метод GetToolWindow(Type, Boolean) Получает окно инструментов.
Открытый метод GetType Возвращает объект Type для текущего экземпляра. (Унаследовано от Object.)
Защищенный метод Initialize Инициализирует класс ModelingPackage. (Переопределяет Package.Initialize().)
Защищенный метод MemberwiseClone Создает неполную копию текущего объекта Object. (Унаследовано от Object.)
Защищенный метод OnLoadOptions (Унаследовано от Package.)
Защищенный метод OnSaveOptions (Унаследовано от Package.)
Защищенный метод OnToolboxInitialized Будет зарегистрирован обработчик событий для события ToolboxInitialized динамические/настраиваемые элементы панели инструментов.
Защищенный метод OnToolboxUpgraded Будет зарегистрирован обработчик событий для события ToolboxUpgraded динамические/настраиваемые элементы панели инструментов.
Защищенный метод ParseToolboxResource(TextReader, ResourceManager) (Унаследовано от Package.)
Защищенный метод ParseToolboxResource(TextReader, Guid) (Унаследовано от Package.)
Защищенный метод QueryClose (Унаследовано от Package.)
Защищенный метод RegisterEditorFactory (Унаследовано от Package.)
Защищенный метод RegisterProjectFactory (Унаследовано от Package.)
Защищенный метод SetupDynamicToolbox Обновляет элементы в области элементов.
Открытый метод ShowOptionPage (Унаследовано от Package.)
Открытый метод ToString Возвращает строку, представляющую текущий объект. (Унаследовано от Object.)

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

События

  Имя Описание
Защищенные события ToolboxInitialized (Унаследовано от Package.)
Защищенные события ToolboxUpgraded (Унаследовано от Package.)

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

Явные реализации интерфейса

  Имя Описание
Явная реализация интерфейсаЗакрытый метод IServiceContainer.AddService(Type, Object) (Унаследовано от Package.)
Явная реализация интерфейсаЗакрытый метод IServiceContainer.AddService(Type, ServiceCreatorCallback) (Унаследовано от Package.)
Явная реализация интерфейсаЗакрытый метод IServiceContainer.AddService(Type, Object, Boolean) (Унаследовано от Package.)
Явная реализация интерфейсаЗакрытый метод IServiceContainer.AddService(Type, ServiceCreatorCallback, Boolean) (Унаследовано от Package.)
Явная реализация интерфейсаЗакрытый метод IVsPackage.Close (Унаследовано от Package.)
Явная реализация интерфейсаЗакрытый метод IVsToolWindowFactory.CreateToolWindow (Унаследовано от Package.)
Явная реализация интерфейсаЗакрытый метод IOleCommandTarget.Exec (Унаследовано от Package.)
Явная реализация интерфейсаЗакрытый метод IVsUserSettings.ExportSettings (Унаследовано от Package.)
Явная реализация интерфейсаЗакрытый метод IVsPackage.GetAutomationObject (Унаследовано от Package.)
Явная реализация интерфейсаЗакрытый метод IVsToolboxItemProvider.GetItemContent (Унаследовано от Package.)
Явная реализация интерфейсаЗакрытый метод IVsPackage.GetPropertyPage (Унаследовано от Package.)
Явная реализация интерфейсаЗакрытый метод IServiceProvider.GetService (Унаследовано от Package.)
Явная реализация интерфейсаЗакрытый метод IVsUserSettings.ImportSettings (Унаследовано от Package.)
Явная реализация интерфейсаЗакрытый метод IVsPersistSolutionOpts.LoadUserOptions (Унаследовано от Package.)
Явная реализация интерфейсаЗакрытый метод IVsUserSettingsMigration.MigrateSettings (Унаследовано от Package.)
Явная реализация интерфейсаЗакрытый метод IVsUserSettingsQuery.NeedExport (Унаследовано от Package.)
Явная реализация интерфейсаЗакрытый метод IVsPackage.QueryClose (Унаследовано от Package.)
Явная реализация интерфейсаЗакрытый метод IServiceProvider.QueryService (Унаследовано от Package.)
Явная реализация интерфейсаЗакрытый метод IOleCommandTarget.QueryStatus (Унаследовано от Package.)
Явная реализация интерфейсаЗакрытый метод IVsPersistSolutionOpts.ReadUserOptions (Унаследовано от Package.)
Явная реализация интерфейсаЗакрытый метод IServiceContainer.RemoveService(Type) (Унаследовано от Package.)
Явная реализация интерфейсаЗакрытый метод IServiceContainer.RemoveService(Type, Boolean) (Унаследовано от Package.)
Явная реализация интерфейсаЗакрытый метод IVsPackage.ResetDefaults (Унаследовано от Package.)
Явная реализация интерфейсаЗакрытый метод IVsPersistSolutionOpts.SaveUserOptions (Унаследовано от Package.)
Явная реализация интерфейсаЗакрытый метод IVsPackage.SetSite (Унаследовано от Package.)
Явная реализация интерфейсаЗакрытый метод IVsPersistSolutionOpts.WriteUserOptions (Унаследовано от Package.)

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

Заметки

Используйте этот класс, чтобы загрузить пакет доменного языка, регистрирует фабрику редактора с Visual Studio.Visual Studio вызывает фабрику редактора, который создает создаваемый конструктор для доменного языка.Помимо регистрация фабрик редакторов можно также использовать этот класс, чтобы зарегистрировать окна инструментов.

Этот класс обеспечивает поддержку меню на уровне пакета.Для реализации пакетов, которые поддерживают окна инструментов IVsToolWindowFactory.

Примеры

В следующем примере добавляется окно инструментов, которое называется Пользовательское окно инструментов к созданному конструктору.При открытии проекта в конструкторе, вкладка " для данного окна отображается рядом с Обозреватель решений.При переходе на вкладку для окна, метку, которая считывает Это пользовательское окно инструментов появляется в середине окна инструментов

Этот код регистрирует окно инструментов.

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));
        }
    }
}

Этот код определяет окно инструментов.

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; }
  }
    }
}

Потокобезопасность

Любые открытые члены этого типа, объявленные как static (Shared в Visual Basic), являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.

См. также

Ссылки

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

IVsToolWindowFactory

IVsPackage