XamarinForms: как использовать пользовательскую страницу навигации - PullRequest
0 голосов
/ 16 ноября 2018

Я заказываю навигацию по конкретному виду в моем приложении, Я создаю пользовательскую навигацию ios:

public class CustomNavigationPageRenderer : NavigationRenderer
    {
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            UINavigationBar.Appearance.SetBackgroundImage(new UIImage(), UIBarMetrics.Default);
            UINavigationBar.Appearance.ShadowImage = new UIImage();
            UINavigationBar.Appearance.BackgroundColor = UIColor.Clear;
            UINavigationBar.Appearance.TintColor = UIColor.White;
            UINavigationBar.Appearance.BarTintColor = UIColor.Clear;
            UINavigationBar.Appearance.Translucent = true;
        }
    }

и общий класс интерфейса:

public partial class CustomPage : NavigationPage
    {
        public CustomPage(): base()
        {
            InitializeComponent();
        }

        public CustomPage(Page root) : base(root)
        {
            InitializeComponent();
        }

        public bool IgnoreLayoutChange { get; set; } = false;

        protected override void OnSizeAllocated(double width, double height)
        {
            if (!IgnoreLayoutChange)
                base.OnSizeAllocated(width, height);
        }
    }

Теперь, с моей точки зрения, как я могу это использовать? Мне нужно установить на false исходную навигацию? (NavigationPage.SetHasNavigationBar (this, false);)

public MySpecificViewNeedCustoNAv()
        {

        CustomPage myNavigationPage = new CustomPage();
        ...

1 Ответ

0 голосов
/ 19 ноября 2018

нужно установить на false исходную навигацию?

Нет, вы можете сослаться на следующий код.

Например

Создание корневой страницы в App.cs

public App ()
{
  MainPage = new CustomPage (new xxxpage());
}

Загрузка страниц в стек навигации на вашей странице

async void ButtonClicked (object sender, EventArgs e)
{
  await Navigation.PushAsync (new xxxpage());
}
...