'before должен быть дочерним элементом NavigationPage (параметр 'before')' в Xamarin/.net Maui

Я создавал демонстрационное приложение в .Net Maui и хотел вставить страницу перед навигацией, используя метод навигации InsertPageBefore.

Отсылка из здесь

Я нахожусь на MainPage и перехожу на страницу 4, но перед переходом на страницу 4 я хочу вставить страницу 3, чтобы мой стек навигации выглядел так, как показано ниже.

Главная страница/страница 3/страница 4

Это код для перехода на страницу 4

private void Page4ButtonClicked(object sender, EventArgs e)
{
   Navigation.InsertPageBefore(new Page3(),new Page4());
}

Мой код App.cs

public App()
{
    InitializeComponent();

    MainPage = new NavigationPage(new MainPage());
}

Сообщение об ошибке, которое я получаю, «до» должно быть дочерним элементом NavigationPage (параметр «до»)»

Вам нужно использовать существующую ссылку на Page4, которая уже добавлена ​​в стек.

Jason 05.10.2022 09:16

Итак, мне нужно создать объект Page4, прежде чем передавать его в InsertPageBefore? @Джейсон

Dinesh Falwadiya 05.10.2022 09:35

Вы должны сделать это после того, как уже перешли на страницу 4.

Jason 05.10.2022 09:39

В каком файле/классе определен обработчик события Page4ButtonClicked?

ewerspej 05.10.2022 10:26

Это определено в MainPage @ewerspej

Dinesh Falwadiya 05.10.2022 12:52

Спасибо, я решил свою проблему благодаря вам, ребята. Мне пришлось вызвать InsertPageBefore в моем методе Page4 OnAppearing.

Dinesh Falwadiya 05.10.2022 13:28
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
6
116
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Благодаря комментариям @Json и @ewerspej.

Я звонил Navigation.InsertPageBefore(new Page3(), new Page4()); с главной страницы.

который должен был быть вызван после перехода на страницу 4.

Итак, если вы хотите добавить страницу в стек навигации после навигации.

Вызовите метод Navigation.InsertPageBefore(new Page3(),this); метод такой.

Публикация этого как ответ для тех, кто все еще застрял в этой проблеме.

Другие вопросы по теме