ユニバーサルアプリで別のページを表示する - ユニバーサルアプリでの画面・フォームの切り替え

ユニバーサルアプリでページを切り替えるコードを紹介します。

概要

ユニバーサールアプリで別のフォームや画面に表示を切り替えるコードを紹介します。
ユニバーサルアプリではWindows Phoneなどのモバイルデバイスで動作するアプリも含まれるため、画面切り替えは別のウィンドウが表示される動作ではなく、1つのウィンドウで画面の表示が切り替わる動作になります。画面はページとして作成してページを切り替えることで画面を切り替えられます。

プログラム

プロジェクトの作成

Universal Windowアプリケーションを作成します。
ユニバーサルアプリで別のページを表示する - ユニバーサルアプリでの画面・フォームの切り替え:画像1

ソリューションエクスプローラで右クリックしポップアップメニューを表示します。メニューの[追加]の[新しい項目]をクリックします。
ユニバーサルアプリで別のページを表示する - ユニバーサルアプリでの画面・フォームの切り替え:画像2

[新しい項目の追加]ダイアログボックスが表示されます。一覧から[空白のページ]をクリックして選択します。
ユニバーサルアプリで別のページを表示する - ユニバーサルアプリでの画面・フォームの切り替え:画像3

[名前]の欄にファイル名を指定します。今回は"SubPage.xaml"とします。設定後[追加]ボタンをクリックします。
ユニバーサルアプリで別のページを表示する - ユニバーサルアプリでの画面・フォームの切り替え:画像4

ソリューションエクスプローラに"SubPage.xaml"が追加されます。
ユニバーサルアプリで別のページを表示する - ユニバーサルアプリでの画面・フォームの切り替え:画像5

UI

下図のUIを作成します。

MainPage.xaml

MainPageにはTextBlockとButtonを配置します。
ユニバーサルアプリで別のページを表示する - ユニバーサルアプリでの画面・フォームの切り替え:画像6

SubPage.xaml

SubPageには、TextBlockを配置します。
ユニバーサルアプリで別のページを表示する - ユニバーサルアプリでの画面・フォームの切り替え:画像7

コード

下記のコードを記述します。

MainPage.xaml.cs
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices.WindowsRuntime;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;
using Windows.UI.Core;

// 空白ページのアイテム テンプレートについては、http://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409 を参照してください

namespace SubPageDemo
{
    /// <summary>
    /// それ自体で使用できる空白ページまたはフレーム内に移動できる空白ページ。
    /// </summary>
    public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            this.InitializeComponent();
        }

    private void button_Click(object sender, RoutedEventArgs e)
    {
      this.Frame.Navigate(typeof(SubPage));
    }
  }
}

解説

ButtonのClickイベントの

  this.Frame.Navigate(typeof(SubPage));

のコードにより、ページを切り替えます。

実行結果

プロジェクトを実行します。下図のスプラッシュ画面が表示されます。
ユニバーサルアプリで別のページを表示する - ユニバーサルアプリでの画面・フォームの切り替え:画像8

MainPageの画面が表示されます。[Button]のボタンをクリックします。
ユニバーサルアプリで別のページを表示する - ユニバーサルアプリでの画面・フォームの切り替え:画像9

SubPageの画面に切り替わります。
ユニバーサルアプリで別のページを表示する - ユニバーサルアプリでの画面・フォームの切り替え:画像10

ページの表示を切り替えることができました。

AuthorPortraitAlt
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
作成日: 2016-06-17
Copyright © 1995–2025 iPentec all rights reserverd.