CommandSet-Klasse
Stellt eine Teilmenge der Befehle dar, die in den Menüs einer domänenspezifischen Sprache verfügbar sind. Überschreiben von Methoden in YourLanguageCommandSet, um zu ändern, wie diese Befehle verarbeitet werden.
Diese API ist nicht CLS-kompatibel.
Vererbungshierarchie
System.Object
System.MarshalByRefObject
Microsoft.VisualStudio.Modeling.Shell.CommandSetLibrary
Microsoft.VisualStudio.Modeling.Shell.CommandSet
Namespace: Microsoft.VisualStudio.Modeling.Shell
Assembly: Microsoft.VisualStudio.Modeling.Sdk.Shell.12.0 (in Microsoft.VisualStudio.Modeling.Sdk.Shell.12.0.dll)
Syntax
'Declaration
<CLSCompliantAttribute(False)> _
Public MustInherit Class CommandSet _
Inherits CommandSetLibrary
[CLSCompliantAttribute(false)]
public abstract class CommandSet : CommandSetLibrary
Der CommandSet-Typ macht die folgenden Member verfügbar.
Konstruktoren
Name | Beschreibung | |
---|---|---|
CommandSet | Initialisiert eine neue Instanz der CommandSet-Klasse. |
Zum Seitenanfang
Eigenschaften
Name | Beschreibung | |
---|---|---|
CurrentDocData | (Von CommandSetLibrary geerbt.) | |
CurrentDocumentSelection | (Von CommandSetLibrary geerbt.) | |
CurrentDocView | Ruft die Ansicht für das aktive Dokumentfenster ab. | |
CurrentModelingDocView | (Von CommandSetLibrary geerbt.) | |
CurrentSelection | (Von CommandSetLibrary geerbt.) | |
MenuService | (Von CommandSetLibrary geerbt.) | |
MonitorSelection | (Von CommandSetLibrary geerbt.) | |
ServiceProvider | (Von CommandSetLibrary geerbt.) | |
SingleDocumentSelection | (Von CommandSetLibrary geerbt.) | |
SingleSelection | (Von CommandSetLibrary geerbt.) |
Zum Seitenanfang
Methoden
Name | Beschreibung | |
---|---|---|
CanDeleteSelectedItems | Gibt "true" zurück, wenn die ausgewählten Elemente gelöscht werden können. (Von CommandSetLibrary geerbt.) | |
CreateObjRef | Sicherheitsrelevant. Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind. (Von MarshalByRefObject geerbt.) | |
DeleteSelectedItems | Löscht die ausgewählten Elemente. (Von CommandSetLibrary geerbt.) | |
Equals | Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.) | |
Finalize | Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.) | |
GetHashCode | Fungiert als die Standardhashfunktion. (Von Object geerbt.) | |
GetLifetimeService | Sicherheitsrelevant. Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert. (Von MarshalByRefObject geerbt.) | |
GetMenuCommands | Zeigt die Befehle im Kontextmenü an. (Überschreibt CommandSetLibrary.GetMenuCommands().) | |
GetType | Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.) | |
Initialize | Initialisieren Sie den Befehlssatz.Ruft GetMenuCommands auf und speichert das Ergebnis. (Von CommandSetLibrary geerbt.) | |
InitializeLifetimeService | Sicherheitsrelevant. Ruft ein Lebensdauerdienstobjekt ab, mit dem die Lebensdauerrichtlinien für diese Instanz gesteuert werden können. (Von MarshalByRefObject geerbt.) | |
IsAnyDocumentSelectionCompartment | "True", wenn ein beliebiges Element in der Auswahlliste ein Depot ist. (Von CommandSetLibrary geerbt.) | |
IsAnyDocumentSelectionMoveableHostShape | "True", wenn ein beliebiges Elemente in der Auswahlliste eine verschiebbare Hostform ist, die nicht gelöscht werden kann. (Von CommandSetLibrary geerbt.) | |
IsAnyDocumentSelectionUndeletable | "True", wenn ein beliebiges Formelement in der Auswahlliste nicht gelöscht werden können. (Von CommandSetLibrary geerbt.) | |
IsCurrentDiagramEmpty | "True", wenn das Diagramm keine untergeordneten Elemente hat. (Von CommandSetLibrary geerbt.) | |
IsDiagramSelected | "True", wenn das Diagramm ausgewählt ist. (Von CommandSetLibrary geerbt.) | |
IsExpandableShape | Überprüft, ob ein Benutzer die Form erweitern kann, um Domäneneigenschaften anzuzeigen. | |
IsSingleDocumentSelection | "True", wenn nur ein ausgewähltes Element im aktiven Dokument vorhanden ist. (Von CommandSetLibrary geerbt.) | |
IsSingleSelection | "True", wenn es nur ein ausgewähltes Element im aktiven Dokumentfenster oder Toolfenster gibt. (Von CommandSetLibrary geerbt.) | |
MemberwiseClone() | Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.) | |
MemberwiseClone(Boolean) | Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts. (Von MarshalByRefObject geerbt.) | |
ProcessOnMenuDeleteCommand | Wird aufgerufen, wenn der Benutzer auf den Befehl Löschen klickt oder die ENTF-TASTE drückt.Löscht ein Element.Überschreiben dieser Methode, um dieses Verhalten zu ändern. | |
ProcessOnMenuEditCompartmentItemCommand | Wird aufgerufen, wenn der Benutzer auf das Menü Bearbeiten auf einem Element in einer Depotform klickt.Gibt den Textbearbeitungszustand ein.Überschreiben dieser Methode, um dieses Verhalten zu ändern. | |
ProcessOnMenuExpandCollapseCommand | Wird aufgerufen, wenn der Benutzer eine Liste mit Eigenschaften erweitert oder reduziert, die einer Form zugewiesen ist. | |
ProcessOnMenuPageSetupCommand | Öffnet das Dialogfeld "Seite einrichten".Überschreiben dieser Methode, um dieses Verhalten zu ändern. | |
ProcessOnMenuPrintCommand | Öffnet das Dialogfeld "Drucken".Überschreiben dieser Methode, um dieses Verhalten zu ändern. | |
ProcessOnMenuPrintPreviewCommand | Das Fenster "Druckansicht"Überschreiben dieser Methode, um dieses Verhalten zu ändern. | |
ProcessOnMenuRerouteLineCommand | Stellt die Standardposition eines Konnektors zwischen zwei Formen wieder her.Überschreiben dieser Methode, um dieses Verhalten zu ändern. | |
ProcessOnMenuResetDecoratorLocationCommand | Überschreiben Sie diese Methode, um den Menübefehl "Decorator-Speicherort zurücksetzen" zu verarbeiten. | |
ProcessOnMenuResetDecoratorSizeCommand | Diese Methode überschreiben, um den Menübefehl "Decorator-Größe zurücksetzen" zu verarbeiten. | |
ProcessOnMenuSelectAllCommand | Wird aufgerufen, wenn der Benutzer auf den Befehl "Alle auswählen" im Menü Bearbeiten klickt oder Strg+A drückt.Wählt alle Formen in einem Diagramm aus.Überschreiben der Methode, um dieses Verhalten zu ändern. | |
ProcessOnStatusDeleteCommand | Bestimmt, ob der Befehl Löschen im Kontextmenü angezeigt wird.Wird aufgerufen, wenn der Benutzer auf Diagramm mit der rechten Maustaste klickt. | |
ProcessOnStatusEditCompartmentItemCommand | Bestimmt, ob der Befehl Bearbeiten im Kontextmenü angezeigt wird. | |
ProcessOnStatusExpandCollapseCommand | Bestimmt, ob der Befehl Erweitern/Reduzieren im Kontextmenü den angezeigt wird.Wird aufgerufen, wenn der Benutzer auf Diagramm mit der rechten Maustaste klickt. | |
ProcessOnStatusPageSetupCommand | Bestimmt, ob der Befehl Seite einrichten im Menü Datei angezeigt wird.Wird aufgerufen, wenn der Benutzer auf das Menü Datei klickt, während das Diagramm aktiv ist. | |
ProcessOnStatusPrintCommand | Bestimmt, ob der Befehl Drucken im Menü Datei angezeigt wird.Wird aufgerufen, wenn der Benutzer auf das Menü Datei klickt, während das Diagramm aktiv ist. | |
ProcessOnStatusPrintPreviewCommand | Bestimmt, ob der Befehl Druckvorschau im Menü angezeigt wird.Wird aufgerufen, wenn der Benutzer auf das Menü Datei klickt, während das Diagramm aktiv ist. | |
ProcessOnStatusRerouteLineCommand | Bestimmt, ob der Befehl Umleiten im Kontextmenü angezeigt wird.Wird aufgerufen, wenn der Benutzer auf Diagramm mit der rechten Maustaste klickt. | |
ProcessOnStatusResetDecoratorLocationCommand | Bestimmt, ob der Befehl Rest-Decorator-Element-Speicherort im Kontextmenü angezeigt wird.Wird aufgerufen, wenn der Benutzer auf Diagramm mit der rechten Maustaste klickt. | |
ProcessOnStatusResetDecoratorSizeCommand | Bestimmt, ob der Befehl Rücksetzungs-Decorator-Element-Größen im Menü dargestellt wird.Wird aufgerufen, wenn der Benutzer auf Diagramm mit der rechten Maustaste klickt. | |
ProcessOnStatusSelectAllCommand | Bestimmt, ob der Befehl Alle auswählen im Menü dargestellt wird.Wird aufgerufen, wenn der Benutzer auf das Menü Bearbeiten klickt, während das Diagramm aktiv ist. | |
ToString | Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.) |
Zum Seitenanfang
Hinweise
Sie können ändern, wie der DSL auf etwas Menübefehle reagiert. Die Befehle können Sie u die Befehle im Kontextmenü und einige Befehle auf den Datei- und Bearbeitungsmenüs ändern.
In dem DslPackage-Projekt Ausführung eine generierte Datei mit dem Namen CommandSet.cs und enthalten eine partielle Deklaration einer aufgerufenen CLASS-Attributs <YourLanguageName>CommandSet. Um das Verhalten der Standardmenübefehle zu ändern, fügen Sie einer anderen Datei mit eine partielle Definition der gleichen Klasse hinzu.
In dieser Klasse können Sie die Methoden überschreiben, die in der Basisklasse definiert werden.
Hinweis
Überprüfen Sie, dass der Namespace in einer neuen Datei dem Namespace im generierten CommandSet.cs ist.In der neuen Datei wenn Sie "Überschreibung" innerhalb der Klassendeklaration eingeben, sollten Sie eine Liste der Methoden finden, die Sie überschreiben können.
Jeder Befehl besitzt eine Methode ProcessOnStatus... und eine Methode ProcessOnMenu.... Die Methode ProcessOnStatus... bestimmt, ob der Befehl im Kontextmenü angezeigt. Festlegen Sie die visible-Eigenschaft des Befehlsparameters, um zu bestimmen, ob der Befehl, und aktiviert die Eigenschaft festzulegen, um festzustellen sichtbar ist, ob das Menüelement aktiviert oder abgeblendet ist.
Die Methode ProcessOnMenu... führt den Befehl aus, wenn der Benutzer auf das Menüelement klickt.
Hinweis
Sie können zusätzliche Befehle in der Commands.vsct-Datei definieren.
Weitere Informationen finden Sie unter Gewusst wie: Hinzufügen eines Befehls zum Kontextmenü.
Beispiele
Diese Datei wird dem DslPackage-Projekt hinzugefügt. Sie muss ein Benutzer des DSL an mehrere Elemente auf einmal löschen.
// 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();
}
}
}
}
Threadsicherheit
Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Siehe auch
Referenz
Microsoft.VisualStudio.Modeling.Shell-Namespace