我是 Windows Phone 8 开发的新手。我以前开发过 ASP.NET 网站。
我的页面(在 WP8 应用程序中)共享相同的页眉和页脚。
那么在 windows phone 8 中实现母版页的最佳方法是什么?
我遇到了一些使用Frame
tag 的解决方案;但它们不适用。
非常感谢任何帮助。
PS:我正在使用 MVVM Light Toolkit
我遇到了这个解决方案,但它是一种解决方法:
1-<ControlTemplatex:Key="Decorator" TargetType="ContentControl">
在 App.xaml 中定义 2- 在每个页面中我想要我刚刚添加的模板<ContentControl Template="{StaticResource Decorator}">
这是一个详细的示例:
应用程序.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