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

公開日: : 最終更新日: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

FixedDocumentの印刷およびXPS形式での保存

こんにちは。 以前、XAMLファイルを帳票テンプレートとして動的ロードする記事を掲載しました。

記事を読む

Xamarin iOS, Android での位置情報、Bluetoothの有効化メモ

OSが勝手に出してくれたりくれなかったりのところを整理するためのメモ 諸事情によりサンプルはXama

記事を読む

no image

属性を使って、列挙型の列挙子を並び替え、フィルタリングする

メモだよ

記事を読む

【.NET】16進数文字列から色を設定する

文字列→Colorクラスへの変換メモ プログラム上でFromArgbメソッドに16

記事を読む

【VisualStudio2015】UWPアプリケーションのXAMLデザイナにて「パッケージを登録できませんでした。」

VisualStudio2015 / UWPアプリケーション / XAMLデザイナ / エラー のメ

記事を読む

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

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

記事を読む

no image

Microsoft Flow 入門

社内LT用

記事を読む

no image

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

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

記事を読む

no image

【.NET】正規表現の復習

正規表現エンジン System.Text.RegularExpressions.Regexオブジェ

記事を読む

ストアアプリ、UWPアプリをデスクトップアプリケーションから起動する

SendKeyなどを使って無理やり検索ウインドウへ指定した、起動方法しか知らなかったのでメモ(とんで

記事を読む

Message

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

PAGE TOP ↑