1

独自のスタック/ナビゲーションモデルがありますが、ページのヘッダーの横に標準の[戻る]ボタンを表示したいと思います。

表示するにはどのコードが必要ですか?

例は次のようになります。

    void Header_Click(object sender, RoutedEventArgs e)
    {
        // Determine what group the Button instance represents
        var group = (sender as FrameworkElement).DataContext;

        // Navigate to the appropriate destination page, configuring the new page
        // by passing required information as a navigation parameter
        this.Frame.Navigate(typeof(GroupDetailPage), 
            ((SampleDataGroup)group).UniqueId);
    }

自動的に表示されます。

私はさまざまなmsdnページを調べましたが、それらは主にデザインパターンについて話します。

ありがとう

4

1 に答える 1

3

Visual Studioプロジェクトテンプレート(空白のアプリを除く)では、ページに次のXAMLが表示されます。

<Button x:Name="backButton" Click="GoBack" IsEnabled="{Binding Frame.CanGoBack, ElementName=pageRoot}" Style="{StaticResource BackButtonStyle}"/>

したがって、ボタンの可視性は、アプリケーションのバックスタックがあるかどうかによって決まります。これpageRootx:Name、特定のページに関連付けられています。

GoBackメソッドは、空白のテンプレート以外のすべてのテンプレートに対して取得するLayoutAwarePageの一部であることに注意してください。「LayoutAwarePage」の独自のバージョンがあるようです。その場合、ナビゲーションモデルの戻るボタンで実行するのに意味のあるコードを配線する必要があります。

LayoutAwarePageは多くのWindowsStoreアプリケーションの基盤となるため、事実上のデフォルトのナビゲーションスキームから大きく逸脱すると、他のアプリケーションでの動作に慣れているユーザーを混乱させる可能性があることに注意してください。LayoutAwarePageから拡張するのは理にかなっていますか?その場合、デフォルトの動作([戻る]ボタンを含む)が得られ、その上に独自の特別なソースを追加できますか?

于 2012-12-19T22:36:40.210 に答える