.NETエンジニア・プログラマ向けの技術情報・業界ニュースをお届けします。

  1. FEnet.NETナビ
  2. .NETコラム
  3. プログラミング言語
  4. C#
  5. WPFとVisual Studioで画面遷移を実装する方法

WPFとVisual Studioで画面遷移を実装する方法

  • .NET
  • C#
  • Visual Studio
  • WPF
  • プログラミング言語
  • 開発環境(IDE)
公開日時:   更新日時:
WPFとVisual Studioで画面遷移を実装する方法
この記事でわかること
    基本情報技術者試験の試験対策はこちら>>

    WPFで複数のページを画面遷移する時は、NavigationWindowやFrameクラスを用いると簡単に実装できます。
    この記事では、WPFのFrameクラスで画面遷移を実現する方法を解説します。さらに、モバイルアプリのようにスライドアニメーション付きで画面遷移する方法もあわせて紹介します。

    プログラマー
    WPFでウィザード形式のような画面遷移をするアプリを作成したいのですが、どうすれば良いですか?
    プロジェクト
    リーダー
    WPFのFrameクラスと、NavigationService.Navigateメソッドを使って簡単に実装できますよ!

    実行環境
    ・Windows 10
    ・Visual Studio 2019

    WPFで画面遷移をする方法(XAMLの作成)

    一口に画面遷移といっても、「画面の表示内容を切り替える」や「別のウィンドウで遷移先の画面をポップアップ表示する」など、WPFにはいくつかの実装方法があります。
    今回は、次のイメージのようにWPFのFrame内で、2つのページ(Page)を切り替えて画面遷移するサンプルアプリを作成していきます。

    アプリの概要

    最初に、Visual Studioを起動し、新しいWPFアプリケーションプロジェクトを作成します。(今回はプログラム言語にC#を選択します)

    WPFアプリケーションプロジェクトを作成

    作成したプロジェクトのMainWindow.xamlを開き、次のように、Gridの下にFrame要素を追加します。

    次は、画面遷移するためのPageを2つ追加します。
    Pageは、[新しい項目の追加]の画面から、「ページ(WPF)」を選択して追加します。
    2つのPageのファイル名はそれぞれ、Page1.xaml、Page2.xamlとします。

    ページ(WPF)を追加

    まず、Page1.xamlを開き次のように編集します。
    画面下部のボタンをクリックすると、ページ2(Page2.xaml)の画面に遷移するようにします。

    Page2.xamlを開き、次のように編集します。

    WPFで画面遷移を実装する方法(C#のコード)

    XAMLの準備ができたら、次はC#のコードでWPFの画面遷移を実装していきます。
    まず、MainWindow.xaml.csを開き、コンストラクタで、アプリが起動した時に表示する最初のページを指定します。

    次に、Page1.xaml.csを開き、ボタンクリックがクリックされた時に、Page2.xamlの画面に遷移する処理を記述します。

    動作確認

    ここまでで、XAMLおよびC#のコードの準備ができました。
    Visual Studioでプログラムを実行して、画面遷移の動作を確認します。

    画面遷移前

    「ページ2へ遷移」をクリックすると、Page2に画面が切り替わればOKです。

    画面遷移後

    画面遷移に簡単なアニメーションを設定する方法

    WPFのアニメーション機能を使って、画面遷移時にアニメーション効果を付けることができます。
    モバイルアプリのように、ページがスライドしながら切り替わる簡単なアニメーションを設定してみましょう。
    MainWindow.xamlを次の内容に書き換えます。

    少し長いコードになりますが、MainWindow.xaml.csに次のコードを追加します。

    準備が出来たらVisual Studioでプログラムを実行します。

    アニメーション前

    「ページ2へ遷移」をクリックすると、左へスライドするアニメーションを行いながら、Page2を表示します。

    アニメーション中

    アニメーションが終了すると、Page2が画面に完全に表示されます。

    アニメーション後

    プログラマー
    アニメーションを活用すると、見た目も凝ったアプリが作成できそうですね。
    プロジェクト
    リーダー
    今回はスライドアニメーションを使いましたが、フェードイン・フェードアウトのようなアニメーションもWPFでは実装できます。ぜひ試してみてください!

    頻繁に使う画面遷移をマスターしよう!

    画面遷移を行う処理は、WPFアプリケーション開発で必ずといっていいほど、よく使用します。基本の画面遷移をマスターして、WPFアプリケーション開発を効率よく進めましょう。

    >>>Visual Studioを使った案件を探すならFEnet .NET Navi

    FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
    株式会社オープンアップシステムロゴ

    株式会社オープンアップシステムはこんな会社です

    秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
    数多くのエンジニアが集まります。

    秋葉原オフィスイメージ
    • スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。

    • 充実した研修制度

      充実した研修制度

      毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。

    • 資格取得を応援

      資格取得を応援

      スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。

    • 東証プライム上場企業グループ

      東証プライム上場企業グループ

      オープンアップシステムは東証プライム上場「株式会社オープンアップグループ」のグループ企業です。

      安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。

    株式会社オープンアップシステムに興味を持った方へ

    株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。

    年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
    まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。

    株式会社オープンアップシステムへのご応募はこちら↓
    株式会社オープンアップシステムへのご応募はこちら↓

    新着案件New Job