【ストアアプリ】画面遷移の基本①

公開日: : 最終更新日:2015/10/20 Blog, Microsoft , ,

こんにちは。
Windowsストアアプリをぼちぼち触り始めています。
WindowsRuntime向け.NET Frameworkのお蔭により、今までの知識で
どれが使えてどれが使えないのかの整理がまだ出来ていません。
(VB名前空間のStringsがほぼ使えなくて泣いた…。)

さて、今日は画面遷移回りを触ってみようと思います。

以下を参考にしています。
クイック スタート: ページ間のナビゲーション (XAML)

Frame.Navigateによる遷移が推奨されているらしいです。
ストアアプリのテンプレートでもNavigateメソッドが使われております。

protected override void OnLaunched(LaunchActivatedEventArgs e)
{
    Frame rootFrame = Window.Current.Content as Frame;
    if (rootFrame == null)
    {
        rootFrame = new Frame();
        rootFrame.Language = Windows.Globalization.ApplicationLanguages.Languages[0];
        rootFrame.NavigationFailed += OnNavigationFailed;
        if (e.PreviousExecutionState == ApplicationExecutionState.Terminated)
        {
            //TODO: 以前中断したアプリケーションから状態を読み込みます。
        }

        Window.Current.Content = rootFrame;
    }
    if (rootFrame.Content == null)
    {
        rootFrame.Navigate(typeof(MainPage), e.Arguments);
    }
    Window.Current.Activate();
}

第一引数に遷移先の型、第二引数に起動パラメータのようです。
OnLaunchedの場合は、LaunchActivatedEventArgsをMainPageに渡しています。

まずはApp起動→MainPage表示→ボタン押下で別ページを表示を実装してみましょう。

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
        <TextBlock Text="MainPage" FontSize="100" VerticalAlignment="Center" HorizontalAlignment="Center" />
        <Button Content="Page1" Click="Button_Click_1" FontSize="100" />
    </StackPanel>
</Grid>
private void Button_Click_1(object sender, RoutedEventArgs e)
{
    Frame.Navigate(typeof(Page1), "");
}
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <TextBlock Text="Page1" FontSize="100" HorizontalAlignment="Center" VerticalAlignment="Center" />
</Grid>

screenshot_03232015_162323

screenshot_03232015_162344

遷移は出来ました。
次回はパラメータを渡してみます。

関連記事

no image

【UWP】CS1061 : ‘XXX’に’InitializeComponent’の定義が含まれておらず

いろいろなことに起因しており、引き起こされた問題であって、 根本的な原因ではない可能性はあるが、凡ミ

記事を読む

【.NET】【WPF/XAML】ローカルPDFを画面に表示する

[crayon-5a5e353683361063252143/] [vb] Public

記事を読む

UWPをHockeyApp対応させる

走り書きメモ。 UWPをHockeyApp対応させるためにはNuGetパッケージを使ってモジュール

記事を読む

no image

‘System.Windows.Navigation.BaseUriHelper’ のタイプ初期化子が例外をスローしました。

作成した.NETアプリケーション(WPF)が起動しない。 今回は構成ファイル(app.config)

記事を読む

no image

UWPのScrollViewerでスクロール位置の同期を行うメモ

複数のScrollViewerのスクロール位置を同期したい場合、WPFではScrollChanged

記事を読む

no image

Xamarin.FormsのAndroidでスプラッシュ画面

Xamarin.Formsでアプリを作成した時、iOSは起動時にLauncher.storyboar

記事を読む

no image

【ストアアプリ】基本的な印刷手順

Windowsストアアプリにて印刷を行う方法を紹介します。 印刷を行うには印刷コントラ

記事を読む

no image

Raspberry Pi 3 Model B 各OS、動画プレイヤーでの再生比較

ベンチマークではなく、ただ感想をメモしただけ。 Windows 10 IoT Core C#

記事を読む

Minnow Board Turbot + Windows 10 IoT Core をSSD上で動作させる

MinnowBoard は SATAが搭載されているので、SSDなどが利用できる。 通常はSDカード

記事を読む

【Cocos2d-x】iPhone実機でプロジェクトを動かすまで

Macを購入してCocos2d-xデビューしたが、 iPhone実機で動かすまでをメモ

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

PAGE TOP ↑