CommandSet - класс
Представляет набор команд, доступных в меню доменного языка.Переопределите методы в YourLanguageCommandSet, чтобы изменить эти команды обрабатываются.
Этот интерфейс API CLS-несовместим.
Иерархия наследования
System.Object
System.MarshalByRefObject
Microsoft.VisualStudio.Modeling.Shell.CommandSetLibrary
Microsoft.VisualStudio.Modeling.Shell.CommandSet
Пространство имен: Microsoft.VisualStudio.Modeling.Shell
Сборка: Microsoft.VisualStudio.Modeling.Sdk.Shell.11.0 (в Microsoft.VisualStudio.Modeling.Sdk.Shell.11.0.dll)
Синтаксис
'Декларация
<CLSCompliantAttribute(False)> _
Public MustInherit Class CommandSet _
Inherits CommandSetLibrary
[CLSCompliantAttribute(false)]
public abstract class CommandSet : CommandSetLibrary
Тип CommandSet предоставляет следующие члены.
Конструкторы
Имя | Описание | |
---|---|---|
CommandSet | Инициализирует новый экземпляр класса CommandSet. |
В начало страницы
Свойства
Имя | Описание | |
---|---|---|
CurrentDocData | (Унаследовано от CommandSetLibrary.) | |
CurrentDocumentSelection | (Унаследовано от CommandSetLibrary.) | |
CurrentDocView | Возвращает представление для окон активного документа. | |
CurrentModelingDocView | (Унаследовано от CommandSetLibrary.) | |
CurrentSelection | (Унаследовано от CommandSetLibrary.) | |
MenuService | (Унаследовано от CommandSetLibrary.) | |
MonitorSelection | (Унаследовано от CommandSetLibrary.) | |
ServiceProvider | (Унаследовано от CommandSetLibrary.) | |
SingleDocumentSelection | (Унаследовано от CommandSetLibrary.) | |
SingleSelection | (Унаследовано от CommandSetLibrary.) |
В начало страницы
Методы
Имя | Описание | |
---|---|---|
CanDeleteSelectedItems | Возвращает значение true, если выделенные элементы могут быть удалены. (Унаследовано от CommandSetLibrary.) | |
CreateObjRef | Критический с точки зрения безопасности. Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для взаимодействия с удаленным объектом. (Унаследовано от MarshalByRefObject.) | |
DeleteSelectedItems | Удаление выбранных элементов. (Унаследовано от CommandSetLibrary.) | |
Equals | Определяет, равен ли заданный объект текущему объекту. (Унаследовано от Object.) | |
Finalize | Позволяет объекту попытаться освободить ресурсы и выполнить другие операции очистки, перед тем как объект будет утилизирован в процессе сборки мусора. (Унаследовано от Object.) | |
GetHashCode | Играет роль хэш-функции для определенного типа. (Унаследовано от Object.) | |
GetLifetimeService | Критический с точки зрения безопасности. Извлекает объект обслуживания во время существования, который управляет политикой времени существования данного экземпляра. (Унаследовано от MarshalByRefObject.) | |
GetMenuCommands | Отображает команды в контекстном меню. (Переопределяет CommandSetLibrary.GetMenuCommands().) | |
GetType | Возвращает объект Type для текущего экземпляра. (Унаследовано от Object.) | |
Initialize | Инициализировать набор команд.Вызовы GetMenuCommands и кэши результатов. (Унаследовано от CommandSetLibrary.) | |
InitializeLifetimeService | Критический с точки зрения безопасности. Возвращает объект обслуживания во время существования для управления политикой времени существования данного экземпляра. (Унаследовано от MarshalByRefObject.) | |
IsAnyDocumentSelectionCompartment | Значение True, если все элементы в списке выбора секции. (Унаследовано от CommandSetLibrary.) | |
IsAnyDocumentSelectionMoveableHostShape | Значение True, если все элементы в списке выбора подвижная форма основного приложения, не могут быть удалены. (Унаследовано от CommandSetLibrary.) | |
IsAnyDocumentSelectionUndeletable | Значение True, если все элементы фигуры в списке выбора, не могут быть удалены. (Унаследовано от CommandSetLibrary.) | |
IsCurrentDiagramEmpty | Значение True, если схема не имеет дочерних элементов. (Унаследовано от CommandSetLibrary.) | |
IsDiagramSelected | Значение True, если выбрана схема. (Унаследовано от CommandSetLibrary.) | |
IsExpandableShape | Проверяет, является ли пользователь может развернуть фигуру, чтобы отобразить свойства домена. | |
IsSingleDocumentSelection | Значение True, если только один элемент, выбранный в активном документе. (Унаследовано от CommandSetLibrary.) | |
IsSingleSelection | Значение True, если только один элемент, выбранный в окне активного документа или окна инструментов. (Унаследовано от CommandSetLibrary.) | |
MemberwiseClone() | Создает неполную копию текущего объекта Object. (Унаследовано от Object.) | |
MemberwiseClone(Boolean) | Создает неполную копию текущего объекта MarshalByRefObject. (Унаследовано от MarshalByRefObject.) | |
ProcessOnMenuDeleteCommand | Вызывается, когда пользователь выбирает соответствующую команду удаления или клавишу delete. ключУдаляет элемент.Переопределите этот метод, чтобы изменить эти расширения функциональности. | |
ProcessOnMenuEditCompartmentItemCommand | Вызывается, когда пользователь выбирает соответствующую команду меню " Правка для элемента в фигуре секции.Вставляет состояние редактирования текста.Переопределите этот метод, чтобы изменить эти расширения функциональности. | |
ProcessOnMenuExpandCollapseCommand | Вызывается, когда пользователь развернуть или свернуть список свойств, присвоенный фигуре. | |
ProcessOnMenuPageSetupCommand | Откроется диалоговое окно параметры страницы.Переопределите этот метод, чтобы изменить эти расширения функциональности. | |
ProcessOnMenuPrintCommand | Открывает диалоговое окно печать.Переопределите этот метод, чтобы изменить эти расширения функциональности. | |
ProcessOnMenuPrintPreviewCommand | Открывает окно предварительного просмотра.Переопределите этот метод, чтобы изменить эти расширения функциональности. | |
ProcessOnMenuRerouteLineCommand | Извлекает по умолчанию позиция соединителя между фигурами 2.Переопределите этот метод, чтобы изменить эти расширения функциональности. | |
ProcessOnMenuResetDecoratorLocationCommand | Переопределите этот метод для обработки команды меню расположения оформителя возврата. | |
ProcessOnMenuResetDecoratorSizeCommand | Переопределите этот метод для обработки команды меню размера оформителя возврата. | |
ProcessOnMenuSelectAllCommand | Вызывается, когда пользователь выбирает соответствующую команду Выделить все в меню Правка или нажмите клавишу ctrl-.Выбирает все фигуры на схеме.Переопределите этот метод, чтобы изменить эти расширения функциональности. | |
ProcessOnStatusDeleteCommand | Указывает, отображается ли команда удалить в контекстном меню.Вызывается, когда пользователь щелкнул правой кнопкой мыши над схемой. | |
ProcessOnStatusEditCompartmentItemCommand | Указывает, отображается ли команда для редактирования в контекстном меню. | |
ProcessOnStatusExpandCollapseCommand | Указывает, отображается ли команда развернуть или свернуть в контекстном меню.Вызывается, когда пользователь щелкнул правой кнопкой мыши над схемой. | |
ProcessOnStatusPageSetupCommand | Указывает, отображается ли команду параметры страницы в меню " Файл ".Вызывается, когда пользователь нажимает меню Файл, а схема активна. | |
ProcessOnStatusPrintCommand | Указывает, отображается ли команда печать в меню Файл.Вызывается, когда пользователь нажимает меню Файл, а схема активна. | |
ProcessOnStatusPrintPreviewCommand | Указывает, отображается ли команду просмотра меню.Вызывается, когда пользователь нажимает меню Файл, а схема активна. | |
ProcessOnStatusRerouteLineCommand | Определяет, будет ли команда Reroute в контекстном меню.Вызывается, когда пользователь щелкнул правой кнопкой мыши над схемой. | |
ProcessOnStatusResetDecoratorLocationCommand | Указывает, отображается ли команда расположения оформителя оставшихся в контекстном меню.Вызывается, когда пользователь щелкнул правой кнопкой мыши над схемой. | |
ProcessOnStatusResetDecoratorSizeCommand | Указывает, отображается ли команда размера оформителя возврата в меню.Вызывается, когда пользователь щелкнул правой кнопкой мыши над схемой. | |
ProcessOnStatusSelectAllCommand | Указывает, отображается ли команда выбрать все в меню.Вызывается, когда пользователь нажимает меню Правка, пока схема активна. | |
ToString | Возвращает строку, представляющую текущий объект. (Унаследовано от Object.) |
В начало страницы
Заметки
Можно изменять как DSL реагирует на некоторые команды меню.Команды включают команды можно изменить в контекстном меню, а некоторые команды в файле и в меню " Правка ".
В проекте, можно найти DslPackage созданный файл с именем CommandSet.cs, содержащий объявление класса < частичноYourLanguageName>CommandSet.Чтобы изменить расширение функциональности стандартных команд меню, добавьте еще один файл с частично определением того же класса.
В этом классе можно переопределить методы, определенные в базовом классе.
Примечание |
---|
Убедитесь, что пространство имен в новом файле совпадает с пространством имен в создаваемый CommandSet.cs.В новом файле, при вводе "переопределение" внутри объявления класса, необходимо просмотреть список методов, которые можно переопределить. |
Каждая команда имеет ProcessOnStatus…метод и ProcessOnMenu…Метод .ProcessOnStatus…метод определяет, будет ли команда в меню щелкните правой кнопкой мыши элемент.Установите свойство visible параметров команды, чтобы определить, является ли команда отображается, и задать свойство enabled, чтобы определить, что пункт меню включен или отображаются серым.
ProcessOnMenu…метод выполняет команду, когда пользователь щелкает пункт меню.
Примечание |
---|
Можно указать дополнительные команды в файле Commands.vsct. |
Дополнительные сведения см. в разделе Практическое руководство. Добавление команды в контекстное меню.
Примеры
Этот файл добавляется к проекту DslPackage.Он запрещает пользователям DSL из удаление более одного элемента за один раз.
// In the DslPackage project.
namespace Company.Language1 // Check this is correct after creating the file.
{
internal partial class Language1CommandSet // Same class as the generated class.
{
/// <summary>
/// Called when user right-clicks on the diagram or clicks the Edit menu.
/// </summary>
/// <param name="command"></param>
protected override void ProcessOnStatusDeleteCommand(System.ComponentModel.Design.MenuCommand command)
{
if (this.CurrentSelection.Count > 1)
{
// If user has selected more than one item, Delete is greyed out.
command.Enabled = false;
}
else
{
// Otherwise, default behavior.
base.ProcessOnStatusDeleteCommand(command);
}
}
/// <summary>
/// Called when user presses Delete key or clicks the Delete command on a menu.
/// </summary>
protected override void ProcessOnMenuDeleteCommand()
{
// Allow users to delete only one thing at a time.
if (this.CurrentSelection.Count <= 1)
{
base.ProcessOnMenuDeleteCommand();
}
}
}
}
Потокобезопасность
Любые открытые члены этого типа, объявленные как static (Shared в Visual Basic), являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.
См. также
Ссылки
Microsoft.VisualStudio.Modeling.Shell - пространство имен
Другие ресурсы
Практическое руководство. Добавление команды в контекстное меню