UWP-在另一个页面中进行页面导航(嵌入UINavigationController的iOS UIContainerVi

本文关键字:UINavigationController 嵌入 UIContainerVi iOS 另一个 UWP- 导航 | 更新日期: 2023-09-27 17:59:19

我正在将iOS应用程序移植到UWP项目中,我很想做一些事情来节省一些重复,但不知道如何做到。

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

有什么方法可以在UWP项目上做类似的事情吗?我实际上希望在Page中有一个Page,并且在内部页面上,能够在该页面的顶部推送一个新页面。

示例:在页面顶部有3个导航按钮。它们是"选项卡",每个按钮在下面的区域加载一页。这是一个高度定制的TabBar。按钮最好在自己的页面中,每3页的内容都在自己的网页中。

目前,我正在通过在多个页面中重新使用顶部的按钮来实现这一点。或者,我可以根据按下的按钮手动交换多个UserControl。每页一个UserControl

任何关于首选方法的帮助都将是伟大的!干杯戴夫。

UWP-在另一个页面中进行页面导航(嵌入UINavigationController的iOS UIContainerVi

有什么方法可以在UWP项目上做类似的事情吗?我实际上想在页面中有一个页面

如果我没有理解错,你可以使用Frame。

例如:在MainPage.Xaml上,您可以定义一个具有三个Button的帧:

<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事件中,将新的Frames添加到StackPanel:

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

相关文章:
  • 没有找到相关文章