# ContextualMenuPopulateEvent

> The event sent when a contextual menu requires menu items. The event trickles down and bubbles up.

## Definition

* **Type:** Class
* **Namespace:** [UnityEngine.UIElements](/engine/6000.7/script-reference/unityengine/uielements.md)
* **Assembly:** UnityEngine.UIElementsModule
* **Inherits from:** [MouseEventBase\<ContextualMenuPopulateEvent>](/engine/6000.7/script-reference/unityengine/uielements/mouseeventbase1.md)
* **Implements:** [IDisposable](https://learn.microsoft.com/dotnet/api/system.idisposable), [IMouseEvent](/engine/6000.7/script-reference/unityengine/uielements/imouseevent.md)

```csharp
public class ContextualMenuPopulateEvent : MouseEventBase<ContextualMenuPopulateEvent>, IDisposable, IMouseEvent
```

## Constructors

| Constructor                                                                                                                 | Description  |
| --------------------------------------------------------------------------------------------------------------------------- | ------------ |
| [ContextualMenuPopulateEvent()](/engine/6000.7/script-reference/unityengine/uielements/contextualmenupopulateevent/ctor.md) | Constructor. |

## Properties

| Property                                                                                                           | Description                                               |
| ------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------- |
| [menu](/engine/6000.7/script-reference/unityengine/uielements/contextualmenupopulateevent/menu.md)                 | The menu to populate.                                     |
| [triggerEvent](/engine/6000.7/script-reference/unityengine/uielements/contextualmenupopulateevent/triggerevent.md) | The event that triggered the ContextualMenuPopulateEvent. |

## Methods

| Method                                                                                             | Description                                       |
| -------------------------------------------------------------------------------------------------- | ------------------------------------------------- |
| [Init](/engine/6000.7/script-reference/unityengine/uielements/contextualmenupopulateevent/init.md) | Resets the event members to their initial values. |

## Static Methods

| Method                                                                                                       | Description                                                                                                                                                                                                                                    |
| ------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [GetPooled](/engine/6000.7/script-reference/unityengine/uielements/contextualmenupopulateevent/getpooled.md) | Gets an event from the event pool and initializes it with the given values. Use this function instead of creating new events. Events obtained using this method need to be released back to the pool. You can use `Dispose()` to release them. |

## Inheritance

**Inherited Members:**

* MouseEventBase\<ContextualMenuPopulateEvent>.PreDispatch(IPanel)
* [MouseEventBase\<ContextualMenuPopulateEvent>.GetPooled(Event)](/engine/6000.7/script-reference/unityengine/uielements/mouseeventbase1/getpooled.md)
* [MouseEventBase\<ContextualMenuPopulateEvent>.GetPooled(Vector2, int, int, Vector2, EventModifiers)](/engine/6000.7/script-reference/unityengine/uielements/mouseeventbase1/getpooled.md)
* [MouseEventBase\<ContextualMenuPopulateEvent>.GetPooled(IMouseEvent)](/engine/6000.7/script-reference/unityengine/uielements/mouseeventbase1/getpooled.md)
* [MouseEventBase\<ContextualMenuPopulateEvent>.GetPooled(IPointerEvent)](/engine/6000.7/script-reference/unityengine/uielements/mouseeventbase1/getpooled.md)
* [MouseEventBase\<ContextualMenuPopulateEvent>.modifiers](/engine/6000.7/script-reference/unityengine/uielements/mouseeventbase1/modifiers.md)
* [MouseEventBase\<ContextualMenuPopulateEvent>.mousePosition](/engine/6000.7/script-reference/unityengine/uielements/mouseeventbase1/mouseposition.md)
* [MouseEventBase\<ContextualMenuPopulateEvent>.localMousePosition](/engine/6000.7/script-reference/unityengine/uielements/mouseeventbase1/localmouseposition.md)
* [MouseEventBase\<ContextualMenuPopulateEvent>.mouseDelta](/engine/6000.7/script-reference/unityengine/uielements/mouseeventbase1/mousedelta.md)
* [MouseEventBase\<ContextualMenuPopulateEvent>.clickCount](/engine/6000.7/script-reference/unityengine/uielements/mouseeventbase1/clickcount.md)
* [MouseEventBase\<ContextualMenuPopulateEvent>.button](/engine/6000.7/script-reference/unityengine/uielements/mouseeventbase1/button.md)
* [MouseEventBase\<ContextualMenuPopulateEvent>.pressedButtons](/engine/6000.7/script-reference/unityengine/uielements/mouseeventbase1/pressedbuttons.md)
* [MouseEventBase\<ContextualMenuPopulateEvent>.shiftKey](/engine/6000.7/script-reference/unityengine/uielements/mouseeventbase1/shiftkey.md)
* [MouseEventBase\<ContextualMenuPopulateEvent>.ctrlKey](/engine/6000.7/script-reference/unityengine/uielements/mouseeventbase1/ctrlkey.md)
* [MouseEventBase\<ContextualMenuPopulateEvent>.commandKey](/engine/6000.7/script-reference/unityengine/uielements/mouseeventbase1/commandkey.md)
* [MouseEventBase\<ContextualMenuPopulateEvent>.altKey](/engine/6000.7/script-reference/unityengine/uielements/mouseeventbase1/altkey.md)
* [MouseEventBase\<ContextualMenuPopulateEvent>.actionKey](/engine/6000.7/script-reference/unityengine/uielements/mouseeventbase1/actionkey.md)
* [MouseEventBase\<ContextualMenuPopulateEvent>.currentTarget](/engine/6000.7/script-reference/unityengine/uielements/mouseeventbase1/currenttarget.md)
* [EventBase\<ContextualMenuPopulateEvent>.SetCreateFunction(Func\<ContextualMenuPopulateEvent>)](/engine/6000.7/script-reference/unityengine/uielements/eventbase1/setcreatefunction.md)
* [EventBase\<ContextualMenuPopulateEvent>.TypeId()](/engine/6000.7/script-reference/unityengine/uielements/eventbase1/typeid.md)
* [EventBase\<ContextualMenuPopulateEvent>.GetPooled()](/engine/6000.7/script-reference/unityengine/uielements/eventbase1/getpooled.md)
* [EventBase\<ContextualMenuPopulateEvent>.Dispose()](/engine/6000.7/script-reference/unityengine/uielements/eventbase1/dispose.md)
* [EventBase\<ContextualMenuPopulateEvent>.eventTypeId](/engine/6000.7/script-reference/unityengine/uielements/eventbase1/eventtypeid.md)
* [EventBase.RegisterEventType()](/engine/6000.7/script-reference/unityengine/uielements/eventbase/registereventtype.md)
* [EventBase.StopPropagation()](/engine/6000.7/script-reference/unityengine/uielements/eventbase/stoppropagation.md)
* [EventBase.StopImmediatePropagation()](/engine/6000.7/script-reference/unityengine/uielements/eventbase/stopimmediatepropagation.md)
* [EventBase.timestamp](/engine/6000.7/script-reference/unityengine/uielements/eventbase/timestamp.md)
* [EventBase.bubbles](/engine/6000.7/script-reference/unityengine/uielements/eventbase/bubbles.md)
* [EventBase.tricklesDown](/engine/6000.7/script-reference/unityengine/uielements/eventbase/tricklesdown.md)
* [EventBase.ignoreDisabledElements](/engine/6000.7/script-reference/unityengine/uielements/eventbase/ignoredisabledelements.md)
* [EventBase.target](/engine/6000.7/script-reference/unityengine/uielements/eventbase/target.md)
* [EventBase.isPropagationStopped](/engine/6000.7/script-reference/unityengine/uielements/eventbase/ispropagationstopped.md)
* [EventBase.isImmediatePropagationStopped](/engine/6000.7/script-reference/unityengine/uielements/eventbase/isimmediatepropagationstopped.md)
* [EventBase.propagationPhase](/engine/6000.7/script-reference/unityengine/uielements/eventbase/propagationphase.md)
* [EventBase.dispatch](/engine/6000.7/script-reference/unityengine/uielements/eventbase/dispatch.md)
* [EventBase.imguiEvent](/engine/6000.7/script-reference/unityengine/uielements/eventbase/imguievent.md)
* [EventBase.originalMousePosition](/engine/6000.7/script-reference/unityengine/uielements/eventbase/originalmouseposition.md)
* [EventBase.pooled](/engine/6000.7/script-reference/unityengine/uielements/eventbase/pooled.md)
