Xamarin.Forms自定义NavigationPage问题

时间:2018-01-03 10:23:39

标签: c# xamarin xamarin.forms

我创建了一个扩展NavigationPage的类和一个Android渲染器。

使用System; 使用Xamarin.Forms;

namespace NoviSportsProt.CustomViews
{
    public class SecondaryNavigationPage : NavigationPage
    {
        public SecondaryNavigationPage(Page root) : base(root)
        {
        }
    }
}

所以这是代码。当我使用自定义类进行导航时,页面成功转到新页面,但没有导航工具栏。

实施例

- 显示导航工具栏 -

MainPage.MainPageInstance.Navigation.PushAsync(new NavigationPage(new DummyPage()));

-Doesn不显示导航工具栏 -

MainPage.MainPageInstance.Navigation.PushAsync(new SecondaryNavigationPage(new DummyPage()));

编辑:

如果我禁用导出渲染器到我的NavigationPage,工具栏会显示但是空

2 个答案:

答案 0 :(得分:0)

如果您没有向工具栏中添加任何元素,则会在应用程序中为第一页重新显示空工具栏(没有后退箭头,因为没有要返回的页面)。你的渲染器没有工作,因为可能你没有编写代码,因为它负责工具栏。

答案 1 :(得分:0)

我遇到了类似的问题。问题最终与样式有关。我错误地认为以下内容适用于NavigationPage和扩展它的任何类:

var navPageStyle = new Style (typeof(NavigationPage)) {
            Setters = {
                new Setter { Property = NavigationPage.BarBackgroundColorProperty, Value = Color.FromHex ("CD0000") },
                new Setter { Property = NavigationPage.BarTextColorProperty, Value = Color.White },
            }
        };

当我为自定义导航页面创建相同的样式定义时,一切都按预期进行。