繁体   English   中英

在Windows Phone 8.1 [RT] xaml中导航的最佳做法

[英]Best practise to navigation in windows phone 8.1[RT] xaml

您好,我正在使用Windows Phone 8.1 [RT]应用程序,我只浏览页面。 但我发现我们可以在xaml中使用Frame新选项

  <Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="120"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>

    <Border Background="White">

    </Border>
    <Button Content="next" Click="Button_Click" Background="Black" />

    <Grid Grid.Row="1">

        <Frame x:Name="Page1Frame" Background="Black" >
            <StackPanel>
                <Rectangle Height="100" Width="100" Fill="Red" Margin="5" />

                <Rectangle Height="100" Width="100" Fill="Red" Margin="5" />
                <Rectangle Height="100" Width="100" Fill="Red" Margin="5" />
                <Rectangle Height="100" Width="100" Fill="Red" Margin="5" />
            </StackPanel>
        </Frame>
    </Grid>

</Grid>

然后像这样导航这个框架

private void Button_Click(object sender, RoutedEventArgs e)
{
        Page1Frame.Navigate(typeof(BlankPage1));
}

在此示例中,我的120高度网格保持不变,仅浏览框架。 我只想知道哪种是最佳实践? 谢谢。

页面是页面,框架是框架,它们是不同的。

假设当前页面名为MainPage,如果要保留在MainPage中并更改根网格第1行中网格的内容,则应使用:

 Page1Frame.Navigate(typeof(BlankPage1));

如果要离开MainPage转到另一个页面,则应使用:

var rootFrame = Window.Current.Content as Frame; 
rootFrame.Navigate(typeof(BlankPage1));

在这种情况下,您看到的是一个空白页面,没有剩余120个高度的网格。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM