How to Use Context Objects
Applies To: System Center 2012 SP1
Context objects represent the object types that are selected by the console when an action add-in or view add-in is invoked.
When an action add-in is invoked, the code that is called by the Virtual Machine Manager (VMM) console will pass a collection of ContextObject
class object instances. These object instances represent the current object types that are selected by the console when the ribbon button is clicked. This is especially useful when more than one type of object is assigned to the ribbon button. If the button is assigned a context type that was not selected in the console when the button was clicked, that context type will not be included in the collection.
When a view add-in is installed, and the user navigates the VMM console, the SetCurrentScope
method is called in the add-in. The console will pass a ContextObject
to this method, which represents the current object type that is selected by the console.
Example
The following code example demonstrates how to obtain VMContext
instances when you work with an action add-in:
Note
The CheckpointWindow
type in this example is a XAML window with a custom constructor. To be able to run this code, you must substitute the current object type and constructor with your own..
public override void PerformAction(IList<ContextObject> contextObjects)
{
CheckpointWindow mainWindow = new CheckpointWindow(
this.PowerShellContext,
contextObjects.OfType<VMContext>());
mainWindow.Show();
}
Compiling the Code
Namespaces
Microsoft.SystemCenter.VirtualMachineManager.UIAddIns |
System.AddIn |
Assemblies
System.AddIn |
Microsoft.SystemCenter.VirtualMachineManager.UIAddIns |
See Also
Scenario: Create Managed Code Ribbon Actions
How to Create an Action Add-in
How to Define a Custom Action Add-in in the Manifest