UWP - 另一个页面中的页面导航(&UUCavainController的iOS UIContainerView嵌入'等效?)

时间:2016-07-29 06:39:29

标签: c# windows uwp windows-applications uwp-xaml

我将iOS应用程序移植到UWP项目中,我喜欢做一些事情来节省一些重复但不知道该怎么做。

在iOS上,我会在UINavigationController中嵌入一个UIContainerView,并且只能推送/弹出屏幕的一部分,而不是将整页推到另一个页面上。

有没有办法在UWP项目上做类似的事情?我实际上希望在Page中拥有Page,并且在内页面上,可以在该页面顶部推送新页面。

示例:页面顶部有3个导航按钮。他们是' Tabs'每个按钮将1页加载到它下面的区域。它是一个高度定制的TabBar。这些按钮很适合在自己的页面中显示其页面中每3页的内容。

目前,我是通过重复使用多个页面顶部的按钮来实现此目的的。或者我可以根据按下的按钮手动换出多个UserControl。每页一个UserControl

对于首选方法的任何帮助都会很棒! 干杯, 戴夫。

1 个答案:

答案 0 :(得分:1)

  

有没有办法在UWP项目上做类似的事情?我实际上想在页面中有一个页面

如果我不理解错误,您可以使用Frame

例如:在MainPage.Xaml上,您可以使用三个Button定义一个Frame:

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <StackPanel>
        <Button Name="btnPageOne" Content="Page One" Click="btnPageOne_Click"></Button>
        <Button Name="btnPageTwo" Content="Page Two" Click="btnPageTwo_Click"></Button>
        <Button Name="btnPageThree" Content="Page Three" Click="btnPageThree_Click"></Button>
        <Frame Name="MyFrame" Width="500" Height="600"></Frame>
    </StackPanel>
</Grid>

在三个按钮的点击事件中,您可以将框架导航到三个页面:

private void btnPageOne_Click(object sender, RoutedEventArgs e)
{
    MyFrame.Navigate(typeof(PageOne));
}

private void btnPageTwo_Click(object sender, RoutedEventArgs e)
{
    MyFrame.Navigate(typeof(PageTwo));
}

private void btnPageThree_Click(object sender, RoutedEventArgs e)
{
    MyFrame.Navigate(typeof(PageThree));
}
  

并在内页面上,可以在该页面顶部推送新页面。

您可以在StackPanel内的PageOne上定义一个按钮,如下所示:

<Grid Name="rootGrid" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <StackPanel Name="myStackPanel">
        <Button  Name="myBtn" Click="myBtn_Click">Click Me to add Page</Button>
    </StackPanel>
</Grid>

Click事件中,向该StackPanel添加新的Frames

private void myBtn_Click(object sender, RoutedEventArgs e)
{
     Frame newFrame = new Frame{
             Width=100,
             Height=100
     };
     myStackPanel.Children.Add(newFrame);
     newFrame.Navigate(typeof(SubPageOne));
}

以下是我做的基本演示:FrameNavigationSample

相关问题