How to add ContextMenu for SfRadialMenu
Step 1: Add items to radialmenu using SfRadialmenuItem.
Step 2: Add MenuItems in Contextmenu, and then add Contextmenu into the Resources.
Step 3: Hook the ContextMenu opening event in the SfRadialMenuItem.
Step 4: Set the IsOpen property for ContextMenu to True in the ContextMenu opening event.
The following code sample demonstrates how to add ContexMenu for SfRadialMenu in WPF.
XAML:
<Window.Resources>
<ContextMenu x:Key="cm1">
<MenuItem Header="Menu item 1"/>
<MenuItem Header="Menu item 2" />
<MenuItem Header="Menu item 3" />
<MenuItem Header="Menu item 4" />
<MenuItem Header="Menu item 5" />
<MenuItem Header="Menu item 6" />
<Separator />
<MenuItem Header="Menu item 13" />
</ContextMenu>
<ContextMenu x:Key="cm2" >
<MenuItem Header="Menu item 100" />
<MenuItem Header="Menu item 101" />
<MenuItem Header="Menu item 102" />
<MenuItem Header="Menu item 103" />
<MenuItem Header="Menu item 104" />
<Separator />
<MenuItem Header="Menu item 111" />
</ContextMenu>
<ContextMenu x:Key="cm3" >
<MenuItem Header="Menu item 200" />
<MenuItem Header="Menu item 201" />
<MenuItem Header="Menu item 202" />
<MenuItem Header="Menu item 203" />
<MenuItem Header="Menu item 204" />
<MenuItem Header="Menu item 205" />
<Separator />
<MenuItem Header="Menu item 223" />
</ContextMenu>
</Window.Resources>
<Grid>
<navigation:SfRadialMenu>
<navigation:SfRadialMenuItem Header="Bold" ContextMenuOpening="SfRadialMenuItem_ContextMenuOpening" />
<navigation:SfRadialMenuItem Header="Cut" ContextMenuOpening="SfRadialMenuItem_ContextMenuOpening_1" />
<navigation:SfRadialMenuItem Header="Copy" ContextMenuOpening="SfRadialMenuItem_ContextMenuOpening_2"/>
</navigation:SfRadialMenu>
</Grid>
C#:
private void SfRadialMenuItem_ContextMenuOpening(object sender, ContextMenuEventArgs e)
{
ContextMenu cm = this.FindResource("cm1") as ContextMenu;
cm.PlacementTarget = sender as Button;
cm.IsOpen = true;
}
private void SfRadialMenuItem_ContextMenuOpening_1(object sender, ContextMenuEventArgs e)
{
ContextMenu cm = this.FindResource("cm2") as ContextMenu;
cm.PlacementTarget = sender as Button;
cm.IsOpen = true;
}
private void SfRadialMenuItem_ContextMenuOpening_2(object sender, ContextMenuEventArgs e)
{
ContextMenu cm = this.FindResource("cm3") as ContextMenu;
cm.PlacementTarget = sender as Button;
cm.IsOpen = true;
}
Output for this code:
|
Sample for adding ContexMenu for SfRadialMenu in WPF: https://www.syncfusion.com/downloads/support/directtrac/general/ze/How-to-add-ContextMenu-SfRadialMenu1931038924
