Latest News

  • Super Tower Defense Game
    Mar 10, 2010

    New to the games section is the new Super Tower Defense game. Defend your base from the ever advancing army of tanks, buggies...

  • New Rich Text Editor User Control
    Feb 19, 2010

    By popular request, here we present a re-usable User Control containing the Liquid RichTextBox along with the most common formatting functions included.

  • Silverlight 3 Controls V5.2.7 Released
    Feb 19, 2010

    This release includes several fixes for issues raised in the forum. The main improvement is to the RichTextBox which now provides access and methods to the document elements allowing...

  • Super Shoot Em Up Game
    Feb 04, 2010

    Added to the games section is the new Super Shoot 'Em Up game. Take control of a tank with your aim being to blow up your opposing tanks and collect all the powerups.

  • Silverlight 3 Controls V5.2.6 Released
    Feb 04, 2010

    This release includes some minor fixes for several forum posts. Please see the notes on the download page for full details on what has changed.

Silverlight Main Menu

This free Main Menu control provides Silverlight developers with an easy to use and customizable drop down menu system with a familiar default style.

This Silverlight only Main Menu Control is easy to implement on your Silverlight driven website and is also customizable to provide a visual feel suitable for any site design.

To use the Main Menu control you will need to add a reference to Liquid.Menu.dll in your project.


How to Use the Main Menu Control

To use the Main Menu on your Silverlight page:

<UserControl x:Class="MainMenu.Page"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:liquidMenu="clr-namespace:Liquid;assembly=Liquid.Menu"
    Width="400" Height="300">
    <Canvas x:Name="LayoutRoot" Background="White">
        <liquidMenu:MainMenu x:Name="testMenu" ItemSelected="testMenu_ItemSelected">
            <liquidMenu:MainMenu.Items>
                <liquidMenu:MainMenuItem Text="Menu 1">
                    <liquidMenu:Menu>
                        <liquidMenu:MenuItem ID="item11" Icon="images/document.png" Text="Item 1" />
                        <liquidMenu:MenuDivider />
                        <liquidMenu:MenuItem ID="item12" Icon="images/save.png" Shortcut="Ctrl+S" Text="Item 2" />
                        <liquidMenu:MenuDivider />
                        <liquidMenu:MenuItem ID="item13" Text="Item 3" />
                    </liquidMenu:Menu>
                </liquidMenu:MainMenuItem>
                <liquidMenu:MainMenuItem Text="Menu 2">
                    <liquidMenu:Menu>
                        <liquidMenu:MenuItem ID="item21" Text="Item 1" />
                        <liquidMenu:MenuItem ID="item22" Text="Item 2" />
                        <liquidMenu:MenuItem ID="item23" Text="Item 3" />
                    </liquidMenu:Menu>
                </liquidMenu:MainMenuItem>
                <liquidMenu:MainMenuItem Text="Menu 3">
                    <liquidMenu:Menu>
                        <liquidMenu:MenuItem ID="item31" Text="Item 1" />
                        <liquidMenu:MenuItem ID="item32" Text="Item 2" />
                        <liquidMenu:MenuDivider />
                        <liquidMenu:MenuItem ID="item33" Text="Item 3" />
                    </liquidMenu:Menu>
                </liquidMenu:MainMenuItem>
            </liquidMenu:MainMenu.Items>
        </liquidMenu:MainMenu>
    </Canvas>
</UserControl>


Here we have a menu with the name testMenu, this contains three child menus.  Each of these have child menu options, they can be nested as deep as required.

Note we assign an ID to each menu item, this allows us to detect which item has been selected using the ItemSelected event which you can see below.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

using Liquid;

namespace MainMenu
{
    public partial class Page : UserControl
    {
        public Page()
        {
            InitializeComponent();
        }

        private void testMenu_ItemSelected(object sender, MenuEventArgs e)
        {
            switch (e.Tag.ToString())
            {
                case "item11":
                    // TODO: New functionality
                    break;
                case "item12":
                    // TODO: Save functionality
                    break;
            }
        }
    }
}


The MenuList_ItemSelected event handler is called each time an item is selected.  The argument object passed in contains a Tag property which contains the ID of the item that generated the event.

The menu control used here can display images and keyboard shortcuts as well as the title text.

Example Silverlight Main Menu Control:

Silverlight Main Menu Control

Latest Forum Posts

Here are latest posts from around the forums, if you have a question about any of the Liquid controls you can get your answers in the Forum.

Thanks Dan,


I was looking for the Icon property in the wrong place (Menu rather than MenuItem).  Works great now!


Tiffany

Dan,

I'd like to request that the menu hides Child menus after mouse moves off the parent menu.


When the menu drops down, the only way to get rid of it is to click one of the menu items.  A timeout value and automatic hide would be great!!


Ron

dan posted on Hide icons in menu

Hi,


At the moment when no image is specified the empty image is still present with a Margin setting which is probably what your noticing.  The next version will completely hide the icon Image element when there is no Icon specified.  In the mean time you can create a custom style for your MenuItems, please see the default style on:


http://www.vectorlight.net/controls/menu_(popup)/visual_customizations.aspx


Simply apply Visibility = "Collapsed" to the ElementIcon in your custom style.


Thanks!

Hi,


You are right, the MainMenuItem class does have this property but is not used.  We will get this property implemented in the next version of the controls library.


Thanks!

dan posted on Bind menu item to XML?

Hi,


Unfortunately this cannot be done at this time, however if someone else has written some XML menu building code and would like to share it please post here.


Thanks!

Hi Jin,


Sorry, this is not possible at this time.  It is something we will look into to see how to implement this functionaily in a future version.


Thanks!

Silverlight Controls

  • Rich TextBox

    Create and edit rich content with this slick and expandable Rich TextBox...

  • TreeView

    This easy to use TreeView comes with drag and drop, sorting, searching and much more...

  • Context Menu

    You too can have cool popup context menus in your Silverlight applications...

  • Resizable Dialog

    Draggable and resizable popup dialogs are what serious Silverlight developers need...

  • Spell Checker

    Real-time spell checking in Silverlight? We did it first here...