Back to Devexpress

PopupMenuShowingEventArgs.MenuType Property

wpf-devexpress-dot-xpf-dot-scheduling-dot-popupmenushowingeventargs-6bda019b.md

latest5.6 KB
Original Source

PopupMenuShowingEventArgs.MenuType Property

Indicates the type of the current context menu.

Namespace : DevExpress.Xpf.Scheduling

Assembly : DevExpress.Xpf.Scheduling.v25.2.dll

NuGet Package : DevExpress.Wpf.Scheduling

Declaration

csharp
public ContextMenuType MenuType { get; }
vb
Public ReadOnly Property MenuType As ContextMenuType

Property Value

TypeDescription
DevExpress.Xpf.Scheduling.ContextMenuType

One of the DevExpress.Xpf.Scheduling.ContextMenuType enumeration values indicating the context menu type.

|

Example

View Example

csharp
private void scheduler_PopupMenuShowing(object sender, PopupMenuShowingEventArgs e)
{
    //Customize the cell context menu:
    if (e.MenuType == ContextMenuType.CellContextMenu)
    {
        PopupMenu menu = (PopupMenu)e.Menu;

        //Change the "New All Day Event" item's caption to "Create All-Day Appointment":
        for (int i = 0; i < menu.Items.Count; i++)
        {
            BarItem menuItem = menu.Items[i] as BarItem;
            if (menuItem != null)
            {
                if (menuItem != null && menuItem.Content.ToString() == "New All Day Event")
                {
                    menuItem.Content = "Create All-Day Appointment";
                    break;
                }
            }
        }
        //Add new menu item: 
        if (!menu.Items.Contains(myMenuItem))
        {
            CreateNewItem();
            menu.Items.Add(myMenuItem);
        }
    }
}
private void CreateNewItem()
{
    //Create a new menu item: 
    myMenuItem = new BarButtonItem();

    myMenuItem.Name = "customItem";
    myMenuItem.Content = "Item Added at Runtime";
    myMenuItem.ItemClick += new ItemClickEventHandler(customItem_ItemClick);
}
private void customItem_ItemClick(object sender, ItemClickEventArgs e)
{
    // Implement a custom action. 
    MessageBox.Show(String.Format("{0} is clicked", e.Item.Name));
}
vb
Private Sub scheduler_PopupMenuShowing(ByVal sender As Object, ByVal e As PopupMenuShowingEventArgs)
    'Customize the cell context menu:
    If e.MenuType = ContextMenuType.CellContextMenu Then
        Dim menu As PopupMenu = CType(e.Menu, PopupMenu)

        'Change the "New All Day Event" item's caption to "Create All-Day Appointment":
        For i As Integer = 0 To menu.Items.Count - 1
            Dim menuItem As BarItem = TryCast(menu.Items(i), BarItem)
            If menuItem IsNot Nothing Then
                If menuItem IsNot Nothing AndAlso menuItem.Content.ToString() = "New All Day Event" Then
                    menuItem.Content = "Create All-Day Appointment"
                    Exit For
                End If
            End If
        Next i
        'Add new menu item: 
        If Not menu.Items.Contains(myMenuItem) Then
            CreateNewItem()
            menu.Items.Add(myMenuItem)
        End If
    End If
End Sub
Private Sub CreateNewItem()
    'Create a new menu item: 
    myMenuItem = New BarButtonItem()

    myMenuItem.Name = "customItem"
    myMenuItem.Content = "Item Added at Runtime"
    AddHandler myMenuItem.ItemClick, AddressOf customItem_ItemClick
End Sub
Private Sub customItem_ItemClick(ByVal sender As Object, ByVal e As ItemClickEventArgs)
    ' Implement a custom action. 
    MessageBox.Show(String.Format("{0} is clicked", e.Item.Name))
End Sub

The following code snippet (auto-collected from DevExpress Examples) contains a reference to the MenuType property.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

wpf-scheduler-handle-popupmenushowing-event-to-customize-context-menus/CS/PopUpMenuShowingEvent/MainWindow.xaml.cs#L14

csharp
//Customize the cell context menu:
if (e.MenuType == ContextMenuType.CellContextMenu) {
    PopupMenu menu = (PopupMenu)e.Menu;

wpf-scheduler-handle-popupmenushowing-event-to-customize-context-menus/VB/PopUpMenuShowingEvent/MainWindow.xaml.vb#L18

vb
'Customize the cell context menu:
If e.MenuType = ContextMenuType.CellContextMenu Then
    Dim menu As PopupMenu = CType(e.Menu, PopupMenu)

See Also

PopupMenuShowingEventArgs Class

PopupMenuShowingEventArgs Members

DevExpress.Xpf.Scheduling Namespace