wpf-devexpress-dot-xpf-dot-bars-dot-popupmenu-ee918631.md
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
public CommonBarItemCollection Items { get; }
Public ReadOnly Property Items As CommonBarItemCollection
| Type | Description |
|---|---|
| DevExpress.Xpf.Bars.CommonBarItemCollection |
A DevExpress.Xpf.Bars.CommonBarItemCollection collection that contains bar items and bar item links displayed in this PopupMenu.
|
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.
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:
<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>
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();
}
}
}
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
<dxb:PopupMenu>
<dxb:PopupMenu.Items>
<dxb:BarButtonItem
<dxb:PopupMenu>
<dxb:PopupMenu.Items>
<dxb:BarButtonItem Command="{Binding DismissAllCommand}" Content="Dismiss All" />
wpf-scheduler-customize-context-menus/CS/DXScheduler_PopUpMenuCustomization/MainWindow.xaml#L106
<dxb:PopupMenu>
<dxb:PopupMenu.Items>
<dxb:BarButtonItem Content="Add Broadcast..."
for (int i = 0; i < menu.Items.Count; i++) {
BarItem menuItem = menu.Items[i] as BarItem;
if (menuItem != null) {
For i As Integer = 0 To menu.Items.Count - 1
Dim menuItem As BarItem = TryCast(menu.Items(i), BarItem)
If menuItem IsNot Nothing Then
See Also