As you see from the preceding example, each FrameworkElement exposes a property named ContextMenu, which can hold a ContextMenu item. Just like the menu, as we learnt in the previous recipe, the context menu can also hold multiple items as MenuItem, and each menu item can again hold one or more menu items to make the context menu hierarchical.
Labels of menu items are assigned by setting its Header property. You can also set icons for each menu item, by assigning an image or a Unicode character to its Icon property. If you have binded a command to the menu, you can assign the shortcut key text as InputGestureText property.
Additionally, you can create checkable context menu items. As shown in the Menu item 3, you can set the IsCheckable property to True, to make the menu checkable. Then you can use the IsCheck property to show/hide the check mark on it.
To add a separator between a group of context menu items, you can use the <Separator /> tag, as shown in the preceding...