バージョン

xamMenu を使用してページをナビゲート

始める前に

xamMenu™ コントロールは、 NavigationUri および NavigationElement プロパティを提供することで WPF のナビゲーション機能を利用します。アプリケーションで異なるページにナビゲートしたい場合、XamMenuItem オブジェクトの NavigationUri をページの場所に、また NavigationElement を Frame コントロールとして設定します。

達成すること

xamMenu コントロールを使用して新しい XAML ページにナビゲートする方法を学びます。

次の手順を実行します

  1. Microsoft® Visual Studio® で WPF アプリケーションを新規作成します。

  2. 以下の NuGet パッケージへの参照を追加します。

    • Infragistics.WPF.Menus

      さらに、以下の Microsoft アセンブリへの参照を追加します。

    • System.Windows.Controls.Navigation

    NuGet フィードのセットアップと NuGet パッケージの追加の詳細については、NuGet フィード ドキュメントを参照してください。

  1. 開始の UserControl タグ内で以下の名前空間宣言を追加します。

XAML の場合:

xmlns:ig="http://schemas.infragistics.com/xaml"
xmlns:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"
  1. xamMenu コントロールをユーザー コントロールに追加します。

  2. メニュー項目を追加してそれを Pages と呼びます。

XAML の場合:

<ig:XamMenu x:Name="xamMenu1" Height="23">
   <ig:XamMenuItem Header="Pages">
       <!-- TODO: XAML ページにリンクするネストされたメニュー項目を追加します -->
   </ig:XamMenuItem>
</ig:XamMenu>
  1. xamMenu コントロールの下に Frame コントロールを追加して、新しいページを表示します。

XAML の場合:

<navigation:Frame Grid.Row="1" x:Name="menuFrame"></navigation:Frame>
  1. アプリケーションで新しい Page コントロールを作成します。

    1. ソリューション エクスプローラーで現在のプロジェクトを右クリックし、[追加] を強調表示します。

    2. サブメニューで [新しい項目] を選択します。[新しい項目の追加] ダイアログが表示します。

    3. WPF Page を選択します。

    4. ページに NavigationPage.xaml と名前を付けて、[追加] をクリックします。

  1. 背景を水色にし、"New Page" というテキストを指定した TextBlock コントロールを NavigationPage.xaml に追加します。

XAML の場合:

<Grid x:Name="LayoutRoot" Background="LightBlue">
   <TextBlock Text="New Page" />
</Grid>
  1. Frame コントロールを使用して上記の手順で作成したページにリンクするネストされたメニュー項目を追加します。

    1. NavigationUri プロパティをページの相対パスに設定します。

    2. NavigationElement プロパティを Frame コントロールに設定します。

    3. NavigationOnClick プロパティを True に設定します。

XAML の場合:

<ig:XamMenuItem Header="New Page" NavigationOnClick="True" NavigationElement="{Binding ElementName=menuFrame}" NavigationUri="/NavigationPage.xaml"/>
  1. アプリケーションを実行します。Pages メニュー項目を強調表示し、New Page 項目をクリックします。新しいページがメニューの下に表示されます。

SL xamMenu Navigating Pages Using xamMenu 01.png
SL xamMenu Navigating Pages Using xamMenu 02.png