 
xamMenu™ コントロールによって、その項目に異なるレイアウト オプションが可能となり、メニュー項目は垂直または水平方向にすることができます。このレイアウトは、メニューおよび各メニュー項目に存在する MenuOrientation プロパティによって制御されます。
サブメニュー項目が表示する場所を指定することもできます。各 XamMenuItem オブジェクトの SubmenuPreferredLocation プロパティは、子項目の位置を制御します。それを Auto、Bottom、Left、Right、または Top に設定できます。
さらに、サブメニュー項目が表示される方法を制御できます。デフォルトでは、項目をクリックするとメニュー項目の子項目が表示されますが、xamMenu で ExpandOnHover プロパティを True に設定することで、子項目をホーバーで表示するように変更できます。また、エンドユーザーがサブメニュー内でメニュー項目をクリックすると、サブメニューは閉じます。XamMenuItem オブジェクトの StaysOpenOnClick プロパティを True に設定することで、このデフォルト動作をオーバーライドし、メニュー項目を開いたままにできます。
以下のコードはメニューの方向、拡張オプション、およびメニュー項目の位置を設定する方法を示します。
 
XAML の場合:
<ig:XamMenu x:Name="xamMenu1" Height="200" Width="40" MenuOrientation="Vertical" ExpandOnHover="True">
   <!-- TODO: メニュー項目を追加します -->
   <ig:XamMenuItem Header="File" SubmenuPreferredLocation="Right">
      <ig:XamMenuItem Header="New" StaysOpenOnClick="True"/>
      <ig:XamMenuItem Header="Open" />
      <ig:XamMenuItem Header="Exit" />
   </ig:XamMenuItem>
   <ig:XamMenuItem Header="Edit" SubmenuPreferredLocation="Right">
      <ig:XamMenuItem Header="Cut" />
      <ig:XamMenuItem Header="Copy" />
      <ig:XamMenuItem Header="Paste" />
   </ig:XamMenuItem>
</ig:XamMenu>
Visual Basic の場合:
Private Sub UserControl_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) ' メニューを作成します Dim menu1 As New XamMenu() Me.LayoutRoot.Children.Add(menu1) ' メニューのレイアウト オプションを設定します menu1.Height = 200 menu1.Width = 40 menu1.MenuOrientation = Orientation.Vertical menu1.ExpandOnHover = True ' TODO: メニュー項目を追加します ' File メニュー項目を作成します Dim parentMenuItem As New XamMenuItem() parentMenuItem.Header = "File" ' 単一項目のレイアウト設定 parentMenuItem.SubmenuPreferredLocation = MenuItemPosition.Right menu1.Items.Add(parentMenuItem) ' 子項目を File メニュー項目に追加します Dim childMenuItem As New XamMenuItem() childMenuItem.Header = "New" ' 単一項目のレイアウト設定 childMenuItem.StaysOpenOnClick = True parentMenuItem.Items.Add(childMenuItem) childMenuItem = New XamMenuItem() childMenuItem.Header = "Open" parentMenuItem.Items.Add(childMenuItem) childMenuItem = New XamMenuItem() childMenuItem.Header = "Exit" parentMenuItem.Items.Add(childMenuItem) ' Edit メニュー項目を作成します parentMenuItem = New XamMenuItem() parentMenuItem.Header = "Edit" ' 単一項目のレイアウト設定 parentMenuItem.SubmenuPreferredLocation = MenuItemPosition.Right menu1.Items.Add(parentMenuItem) ' 子項目を Edit メニュー項目に追加します childMenuItem = New XamMenuItem() childMenuItem.Header = "Cut" parentMenuItem.Items.Add(childMenuItem) childMenuItem = New XamMenuItem() childMenuItem.Header = "Copy" parentMenuItem.Items.Add(childMenuItem) childMenuItem = New XamMenuItem() childMenuItem.Header = "Paste" parentMenuItem.Items.Add(childMenuItem) End Sub
C# の場合:
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
   // メニューを作成します
   XamMenu menu1 = new XamMenu();
   this.LayoutRoot.Children.Add(menu1);
   // メニューのレイアウト オプションを設定します
   menu1.Height = 200;
   menu1.Width = 40;
   menu1.MenuOrientation = Orientation.Vertical;
   menu1.ExpandOnHover = true;
   // TODO: メニュー項目を追加します
   // File メニュー項目を作成します
   XamMenuItem parentMenuItem = new XamMenuItem();
   parentMenuItem.Header = "File";
   // 単一項目のレイアウト設定
   parentMenuItem.SubmenuPreferredLocation = MenuItemPosition.Right;
   menu1.Items.Add(parentMenuItem);
   // 子項目を File メニュー項目に追加します
   XamMenuItem childMenuItem = new XamMenuItem();
   childMenuItem.Header = "New";
   // 単一項目のレイアウト設定
   childMenuItem.StaysOpenOnClick = true;
   parentMenuItem.Items.Add(childMenuItem);
   childMenuItem = new XamMenuItem();
   childMenuItem.Header = "Open";
   parentMenuItem.Items.Add(childMenuItem);
   childMenuItem = new XamMenuItem();
   childMenuItem.Header = "Exit";
   parentMenuItem.Items.Add(childMenuItem);
   // Edit メニュー項目を作成します
   parentMenuItem = new XamMenuItem();
   parentMenuItem.Header = "Edit";
   // 単一項目のレイアウト設定
   parentMenuItem.SubmenuPreferredLocation = MenuItemPosition.Right;
   menu1.Items.Add(parentMenuItem);
   // 子項目を Edit メニュー項目に追加します
   childMenuItem = new XamMenuItem();
   childMenuItem.Header = "Cut";
   parentMenuItem.Items.Add(childMenuItem);
   childMenuItem = new XamMenuItem();
   childMenuItem.Header = "Copy";
   parentMenuItem.Items.Add(childMenuItem);
   childMenuItem = new XamMenuItem();
   childMenuItem.Header = "Paste";
   parentMenuItem.Items.Add(childMenuItem);
}