Compartir a través de


ContextMenuProvider.UpdateItemStatus (Evento)

Actualización: noviembre 2007

Se produce cuando el elemento de menú está a punto de mostrarse.

Espacio de nombres:  Microsoft.Windows.Design.Interaction
Ensamblado:  Microsoft.Windows.Design.Extensibility (en Microsoft.Windows.Design.Extensibility.dll)

Sintaxis

Public Event UpdateItemStatus As EventHandler(Of MenuActionEventArgs)

Dim instance As ContextMenuProvider
Dim handler As EventHandler(Of MenuActionEventArgs)

AddHandler instance.UpdateItemStatus, handler
public event EventHandler<MenuActionEventArgs> UpdateItemStatus
public:
 event EventHandler<MenuActionEventArgs^>^ UpdateItemStatus {
    void add (EventHandler<MenuActionEventArgs^>^ value);
    void remove (EventHandler<MenuActionEventArgs^>^ value);
}
JScript no admite eventos.

Ejemplos

En el ejemplo de código siguiente se muestra cómo controlar el evento UpdateItemStatus para actualizar los objetos MenuAction con valores de la selección principal. Para obtener más información, consulte Tutorial: Crear MenuAction.

' The following method handles the UpdateItemStatus event.
' It sets the MenuAction states according to the state
' of the control's Background property. This method is
' called before the context menu is shown.
Sub CustomContextMenuProvider_UpdateItemStatus( _
    ByVal sender As Object, _
    ByVal e As MenuActionEventArgs)

    ' Turn everything on, and then based on the value 
    ' of the BackgroundProperty, selectively turn some off.
    clearBackgroundMenuAction.Checked = False
    clearBackgroundMenuAction.Enabled = True
    setBackgroundToBlueMenuAction.Checked = False
    setBackgroundToBlueMenuAction.Enabled = True

    ' Get a ModelItem which represents the selected control. 
    Dim selectedControl As ModelItem = _
        e.Selection.PrimarySelection

    ' Get the value of the Background property from the ModelItem.
    Dim backgroundProperty As ModelProperty = _
        selectedControl.Properties(Control.BackgroundProperty)

    ' Set the MenuAction items appropriately.
    If Not backgroundProperty.IsSet Then
        clearBackgroundMenuAction.Checked = True
        clearBackgroundMenuAction.Enabled = False
    ElseIf backgroundProperty.ComputedValue.Equals(Brushes.Blue) Then
        setBackgroundToBlueMenuAction.Checked = True
        setBackgroundToBlueMenuAction.Enabled = False
    End If

End Sub
// The following method handles the UpdateItemStatus event.
// It sets the MenuAction states according to the state
// of the control's Background property. This method is
// called before the context menu is shown.
void CustomContextMenuProvider_UpdateItemStatus(
    object sender, 
    MenuActionEventArgs e)
{
    // Turn everything on, and then based on the value 
    // of the BackgroundProperty, selectively turn some off.
    clearBackgroundMenuAction.Checked = false;
    clearBackgroundMenuAction.Enabled = true;
    setBackgroundToBlueMenuAction.Checked = false;
    setBackgroundToBlueMenuAction.Enabled = true;

    // Get a ModelItem which represents the selected control. 
    ModelItem selectedControl = e.Selection.PrimarySelection;

    // Get the value of the Background property from the ModelItem.
    ModelProperty backgroundProperty = 
        selectedControl.Properties[Control.BackgroundProperty];

    // Set the MenuAction items appropriately.
    if (!backgroundProperty.IsSet)
    {
        clearBackgroundMenuAction.Checked = true;
        clearBackgroundMenuAction.Enabled = false;
    }
    else if (backgroundProperty.ComputedValue == Brushes.Blue)
    {
        setBackgroundToBlueMenuAction.Checked = true;
        setBackgroundToBlueMenuAction.Enabled = false;
    }
}

Permisos

Vea también

Referencia

ContextMenuProvider (Clase)

ContextMenuProvider (Miembros)

Microsoft.Windows.Design.Interaction (Espacio de nombres)

PrimarySelectionContextMenuProvider

MenuGroup

MenuAction

FeatureProvider

Otros recursos

Proveedores de características y conectores de características

Introducción a la extensibilidad de WPF Designer