Nevron Open Vision Documentation
Menu Bars and Menus

 
Menu Bars

Menu bars are represented by the NMenuBar class, that derives from NCommandBar. Menu Bars are not additing any new functionality to Command Bars, but are often used as a type target in styling to distingush them. The FillLane and Wrappable properties for menu bars are by default set true.

As menu bars are command bars you can place any type of widget inside them. In most cases however you will populate menu bars with menu drop downs, like shown in the following image:

figure 1. Menu Bar with Menu Drop Downs.

The menu bar shown above was be created with the following code:

Menu Bar Example
Copy Code
NMenuBar menuBar = new NMenuBar();
NMenuDropDown fileMenu = new NMenuDropDown("File");
menuBar.Items.Add(fileMenu);
 
NMenuItem newMenuItem = new NMenuItem("New");
fileMenu.Items.Add(newMenuItem);
newMenuItem.Items.Add(new NMenuItem("Project"));
newMenuItem.Items.Add(new NMenuItem("Web Site"));
newMenuItem.Items.Add(new NMenuItem("File"));
 
NImage fileOpenImage = new NImage(new NUri(@"C:\FileOpen.png"));
fileMenu.Items.Add(new NMenuItem(fileOpenImage, "Open"));
fileMenu.Items.Add(new NMenuItem("Save"));
fileMenu.Items.Add(new NMenuItem("Save As..."));
fileMenu.Items.Add(new NMenuSeparator());
fileMenu.Items.Add(new NMenuItem("Exit"));
 
NMenuDropDown editMenu = new NMenuDropDown("Edit");
menuBar.Items.Add(editMenu);
 
editMenu.Items.Add(new NMenuItem("Undo"));
editMenu.Items.Add(new NMenuItem("Redo"));
editMenu.Items.Add(new NMenuSeparator());
editMenu.Items.Add(new NMenuItem("Cut"));
editMenu.Items.Add(new NMenuItem("Copy"));
editMenu.Items.Add(new NMenuItem("Paste"));
Menu and Menu Drop Down

The NMenuDropDown is a a popup window host (derives from NMenuPopupHost), the popup context of which is a NMenu. As NMenuItem also derive from NMenuPopupHost, the core menu navigation features are integrated inside the NMenu and NMenuPopupHost widgets.

Altough the NMenu is a widget, in most cases you will use it indirectly, when creating menu drop downs and menu items. The items of a NMenu can be any widget, but in most cases you will populate it with menu items.

Both menu items and menu drop downs are similar to buttons in the fact that they raise a Click event. The Click event is raised in response to the following user gestures:

The following example handles the click event of a menu item:

Menu Item Click

Copy Code
menuItem.Click += new Function<NEventArgs>(OnThemeMenuItemClick);

private void OnMenuItemClick(NEventArgs arg1)
{
    NMenuItem item = (NMenuItem)arg1.TargetNode;
}
Menu Items

Menu items are represented by the NMenuItem widget. Each menu item consists of the following parts:

Name Description
Header Defines the widget to use as menu item header.
Content Defines the widget to use as menu item content.

When placed inside a NMenu, the header and content of a menu item are automatically aligned to the other menu items header and content.

The NCheckableMenuItem class represents a menu item, which is preceded by a check symbol. The Checked property of the checkable menu item specifies whether the menu item is considered checked or not.

See Also
Send Feedback