所有导航都在一个页面中

时间:2014-04-30 06:56:12

标签: c# xaml windows-store-apps

我是使用XAML和C#的Windows 8应用程序的新手 我希望所有导航都在一个页面中,我在主页面中创建了一个按钮,然后创建了第二个页面。当用户从主页面点击按钮时,第2页必须显示在主页面中 我怎么能这样做?

主页xaml:

<Button Content="click" FontSize="60" Margin="191,283,0,382" Height="103" 
Click="Button_Click" ></Button>

主页:

private void Button_Click(object sender, RoutedEventArgs e)
{            
    this.Frame.Navigate(typeof(Page1),"p");
}

第1页:

<TextBlock FontSize="59" SelectionChanged="TextBlock_SelectionChanged">
    hi  2nd page is open
</TextBlock>

当用户点击按钮时,第二页应显示在主页面中。

1 个答案:

答案 0 :(得分:2)

您必须在主页内使用Frame。试试这个

<强> MainPage.xaml中

<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="227*"/>
        <ColumnDefinition Width="1139*"/>
    </Grid.ColumnDefinitions>
    <Button Name="firstPageButton" Content="First Page" Grid.Column="0" HorizontalAlignment="Left" VerticalAlignment="Top" Height="53" Width="227" Click="firstPageButton_Click"/>

    <Frame Name="rootFrame" Content="" HorizontalAlignment="Left" VerticalAlignment="Top" Grid.Column="1" Height="758" Width="1129"/>

</Grid>

<强> MainPage.xaml.cs中

private void firstPageButton_Click(object sender, RoutedEventArgs e)
{
    rootFrame.Navigate(typeof(Page1),"p");    
}

注意:          当您在metro apps中添加页面时,请记住,您始终从Visual Studio模板而不是Split Page添加Blank Page,因为Split Page包含一些默认的内置功能,例如{ {1}},TitleBack Button等。