【问题标题】:How to use hierarchical navigation in a carousel page如何在轮播页面中使用分层导航
【发布时间】:2017-11-10 18:15:47
【问题描述】:

我正在使用 Xamarin 表单,并且我有带有列表视图的页面,如果用户点击列表中的某个项目,它会通过推送异步将它们带到详细信息页面。我想让这个列表视图页面成为轮播页面的一部分,但这似乎是不可能的,因为轮播页面只将 ContentPages 作为其子级,并且为了使用推送异步,我必须将列表视图页面设为 NavigationPage。我在网上找了一个人,他说他们通过将轮播页面作为 NavigationPage 的子页面来解决这个问题,但我不确定它是如何工作的,或者它是否会起作用。如果有人可以在这里为我指明正确的方向,那就太好了。谢谢你的帮助!磕磕碰碰

【问题讨论】:

    标签: c# xamarin xamarin.forms carousel


    【解决方案1】:

    我想你自己回答了这个问题。您可以将CarouselPage 放在NavigationPage 内。我已经对此进行了测试,并且可以正常工作。

    这就是我的做法。我创建了一个名为MainCarouselPageCarouselPage 并放入三个内容页面(CarouselContentPage 只是在其构造函数中显示页码):

    [XamlCompilation(XamlCompilationOptions.Compile)]
    public partial class MainCarouselPage : CarouselPage
    {
        public MainCarouselPage()
        {
            InitializeComponent();
            for(int i=1; i< 3; i++)
            {
                Children.Add(new CarouselContentPage(i));
            }
            Title = "Carousel Page";
        }
    }
    

    然后在我的 app.xaml.cs 文件中,我实现了这样的构造函数:

    public App()
    {
        InitializeComponent();
        MainPage = new NavigationPage(new MainCarouselPage());
    }
    

    然后,您可以从CarouselPageContentPages 内部调用Navigation.PushAsync() 以转到您应用中的其他页面。

    【讨论】:

    • 我不知道我是怎么错过的。我试图使用空白导航页面,然后将轮播页面推送到该导航页面上,因为我认为轮播页面不能是导航页面。结论:我很笨。感谢 m8 的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-15
    • 1970-01-01
    • 2016-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多