1

Windows Phone 8 の開発は初めてです。以前に ASP.NET Web サイトを開発したことがあります。

マイページ (WP8 アプリケーション内) は同じヘッダーとフッターを共有します。

では、Windows Phone 8 のようにマスター ページを実装する最良の方法は何ですか?

Frametag ;を使用するいくつかのソリューションに出くわしました。しかし、それらは適用されませんでした。

どんな助けでも大歓迎です。

PS: MVVM Light Toolkit を使用しています

私はこの解決策に出くわしましたが、それは回避策です:

1- <ControlTemplatex:Key="Decorator" TargetType="ContentControl">App.xaml で定義する 2- 各ページで、テンプレートを追加したい<ContentControl Template="{StaticResource Decorator}">

少し詳細なサンプルを次に示します。

App.xaml

        <ControlTemplate x:Key="Decorator" TargetType="ContentControl">
        <Grid x:Name="LayoutRoot">
            <Grid.RowDefinitions>
                <RowDefinition Height="*"/>
                <RowDefinition Height="5*"/>
                <RowDefinition Height="Auto"/>
            </Grid.RowDefinitions>

            <Grid x:Name="HeaderPanel" Grid.Row="0">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*" />
                        <ColumnDefinition Width="4*" />
                    </Grid.ColumnDefinitions>
                    <Button x:Name="BackBtn" Grid.Column="0" />
                    <TextBlock Grid.Column="1" Text="{Binding Title}" />
            </Grid>

            <ContentPresenter Grid.Row="1" />

            <Grid x:Name="BottomPanel" Grid.Row="2" Height="50">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*" />
                    <ColumnDefinition Width="*" />
                    <ColumnDefinition Width="*" />
                    <ColumnDefinition Width="*" />
                </Grid.ColumnDefinitions>

                <Button Grid.Column="0" />
                <Button Grid.Column="1" />
                <Button Grid.Column="2" />
                <Button Grid.Column="3" />
            </Grid>
        </Grid>
    </ControlTemplate>

任意の xaml ページで、そのコンテンツ テンプレートを埋め込みたい場合は、次を追加するだけです。

    <ContentControl Template="{StaticResource Decorator}">
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="*" />
                <RowDefinition Height="5*" />
            </Grid.RowDefinitions>
            <TextBlock Grid.Row="0" Text="Grid Title" />
            <Grid x:Name="ContentGrid" Grid.Row="1">
        </Grid>
    </ContentControl>

リソース: http://www.codeproject.com/Articles/82464/How-to-Embed-Arbitrary-Content-in-a-WPF-Control

4

0 に答える 0