Back to Devexpress

PopupMenu.Items Property

wpf-devexpress-dot-xpf-dot-bars-dot-popupmenu-ee918631.md

latest8.4 KB
Original Source

PopupMenu.Items Property

Provides access to bar items and bar item links displayed in this PopupMenu.

Namespace : DevExpress.Xpf.Bars

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

NuGet Package : DevExpress.Wpf.Core

Declaration

csharp
public CommonBarItemCollection Items { get; }
vb
Public ReadOnly Property Items As CommonBarItemCollection

Property Value

TypeDescription
DevExpress.Xpf.Bars.CommonBarItemCollection

A DevExpress.Xpf.Bars.CommonBarItemCollection collection that contains bar items and bar item links displayed in this PopupMenu.

|

Remarks

You can add BarItem and BarItemLink descendants to the Items collection.

The PopupMenu class has the System.Windows.Markup.ContentPropertyAttribute attribute that marks the Items property as the XAML content property. So in XAML, bar items and bar item links defined between the PopupMenu start and end tags will be added to the current Items collection.

Example

This example shows how to associate a popup menu with a TextBox control via the BarManager.DXContextMenu attached property.

The following image shows the result:

View Example

xaml
<Window
    x:Class="DXContextMenu_Ex.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars"
    Height="300" Width="300"
    Title="Window1">
    <Grid>
        <DockPanel>
            <TextBox
                x:Name="textEdit1"
                Width="200"
                Height="30"
                Text="right-click this textbox">
                <dxb:BarManager.DXContextMenu>
                    <dxb:PopupMenu>
                        <dxb:PopupMenu.Items>
                            <dxb:BarButtonItem
                                Content="Copy"
                                Glyph="pack://application:,,,/Images/copy16x16.png"
                                ItemClick="itemCopy_ItemClick" />
                            <dxb:BarButtonItem
                                Content="Paste"
                                Glyph="pack://application:,,,/Images/paste16x16.png"
                                ItemClick="itemPaste_ItemClick" />
                            <dxb:BarButtonItem
                                Content="Undo"
                                Glyph="pack://application:,,,/Images/undo16x16.png"
                                ItemClick="itemUndo_ItemClick" />
                            <dxb:BarButtonItem
                                Content="Redo"
                                Glyph="pack://application:,,,/Images/redo16x16.png"
                                ItemClick="itemRedo_ItemClick" />
                        </dxb:PopupMenu.Items>
                    </dxb:PopupMenu>
                </dxb:BarManager.DXContextMenu>
            </TextBox>
        </DockPanel>
    </Grid>
</Window>
csharp
using System.Windows;

namespace DXContextMenu_Ex {
    public partial class Window1 : Window {
        public Window1() {
            InitializeComponent();
        }

        private void itemCopy_ItemClick(object sender, DevExpress.Xpf.Bars.ItemClickEventArgs e) {
            textEdit1.Copy();
        }

        private void itemPaste_ItemClick(object sender, DevExpress.Xpf.Bars.ItemClickEventArgs e) {
            textEdit1.Paste();
        }

        private void itemUndo_ItemClick(object sender, DevExpress.Xpf.Bars.ItemClickEventArgs e) {
            textEdit1.Undo();
        }

        private void itemRedo_ItemClick(object sender, DevExpress.Xpf.Bars.ItemClickEventArgs e) {
            textEdit1.Redo();
        }
    }
}
vb
Imports System.Windows

Namespace DXContextMenu_Ex
    Partial Public Class Window1
        Inherits Window

        Public Sub New()
            InitializeComponent()
        End Sub

        Private Sub itemCopy_ItemClick(ByVal sender As Object, ByVal e As DevExpress.Xpf.Bars.ItemClickEventArgs)
            textEdit1.Copy()
        End Sub

        Private Sub itemPaste_ItemClick(ByVal sender As Object, ByVal e As DevExpress.Xpf.Bars.ItemClickEventArgs)
            textEdit1.Paste()
        End Sub

        Private Sub itemUndo_ItemClick(ByVal sender As Object, ByVal e As DevExpress.Xpf.Bars.ItemClickEventArgs)
            textEdit1.Undo()
        End Sub

        Private Sub itemRedo_ItemClick(ByVal sender As Object, ByVal e As DevExpress.Xpf.Bars.ItemClickEventArgs)
            textEdit1.Redo()
        End Sub
    End Class
End Namespace

The following code snippets (auto-collected from DevExpress Examples) contain references to the Items 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-context-menu-create/CS/DXContextMenu_Ex/Window1.xaml#L17

xml
<dxb:PopupMenu>
    <dxb:PopupMenu.Items>
        <dxb:BarButtonItem

wpf-scheduler-create-reminders-in-code-and-implement-custom-reminder-window/CS/CustomReminderExample/CustomReminderWindow.xaml#L71

xml
<dxb:PopupMenu>
    <dxb:PopupMenu.Items>
        <dxb:BarButtonItem Command="{Binding DismissAllCommand}" Content="Dismiss All" />

wpf-scheduler-customize-context-menus/CS/DXScheduler_PopUpMenuCustomization/MainWindow.xaml#L106

xml
<dxb:PopupMenu>
    <dxb:PopupMenu.Items>
        <dxb:BarButtonItem Content="Add Broadcast..."

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

csharp
for (int i = 0; i < menu.Items.Count; i++) {
    BarItem menuItem = menu.Items[i] as BarItem;
    if (menuItem != null) {

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

vb
For i As Integer = 0 To menu.Items.Count - 1
    Dim menuItem As BarItem = TryCast(menu.Items(i), BarItem)
    If menuItem IsNot Nothing Then

Implements

Items

See Also

Items and Links

PopupMenu Class

PopupMenu Members

DevExpress.Xpf.Bars Namespace