Skip to main content
All docs
V25.1
  • SvgImageBox.PopupMenuShowing Event

    Fires when a user right-clicks with the mouse. Allows you to display a context menu for image items.

    Namespace: DevExpress.XtraEditors

    Assembly: DevExpress.Utils.v25.1.dll

    NuGet Packages: DevExpress.Utils, DevExpress.Wpf.Core

    Declaration

    public event SvgImagePopupMenuShowingEventHandler PopupMenuShowing

    Event Data

    The PopupMenuShowing event's data class is SvgImagePopupMenuShowingEventArgs. The following properties provide information specific to this event:

    Property Description
    Allow Gets or sets whether to allow the menu to be displayed.
    Item Gets the clicked item.
    Menu Gets or sets the popup menu that is about to be displayed
    Point Gets the position where the menu is to be invoked.

    Remarks

    When a user right-clicks the image, the control creates an empty context menu and fires the PopupMenuShowing event. You can handle this event to add custom commands to the menu (the e.Menu event parameter).

    The e.Item parameter specifies the currently hovered item.

    The PopupMenuShowing event also fires when a user right clicks a hidden item or an empty space. In this case, the e.Item event parameter is null.

    The control does not show a context menu unless you populate it with commands (DXMenuItem objects).

    Example

    The following example shows how to handle the SvgImageBox.PopupMenuShowing event to display a context menu for image items. The menu contains commands to hide and show image items.

    image

    private void svgImageBox1_PopupMenuShowing(object sender, DevExpress.XtraEditors.SvgImagePopupMenuShowingEventArgs e) {
        SvgImageBox control = sender as SvgImageBox;
        SvgImageItem item = e.Item;
        // If you hover over a hidden item, the e.Item event parameter returns null.
        // Use the GetItemsAt method to get a hidden item at the clicked point.
        if (item == null)
            item = control.GetItemsAt(e.Point).FirstOrDefault();
        if (item == null) return;
        string menuItemCaption = item.ActualVisible ? "Hide" : "Show";
        DXMenuItem menuItem = new DXMenuCheckItem(menuItemCaption);
        menuItem.Click += MenuItem_Click;
        menuItem.Tag = item;
        e.Menu.Items.Add(menuItem);
    }
    
    private void MenuItem_Click(object sender, EventArgs e) {
        DXMenuItem menuItem = sender as DXMenuItem;
        SvgImageItem item = menuItem.Tag as SvgImageItem;
        item.Visible = !item.Visible;
    }
    
    See Also