Это гораздо проще объяснить визуально. Следующие три изображения представляют собой две страницы:
- после открытия всплывающего меню.
Код: Выделить всё
Home страница. Обратите внимание на гамбургер всплывающего меню. [*]Home
- .
Код: Выделить всё
About
У меня есть всплывающее меню . В настоящее время в меню есть две страницы: «Главная» и «О программе». Вот как это выглядит на домашней странице:

Затем я открываю всплывающее меню:
[img]https://i .stack.imgur.com/9khaJ.png[/img]
Нажимаем на страницу «О программе», и мы попадаем на страницу «О программе», которая выглядит так:

Что я хотел бы изменить
Все, что я хочу изменить, находится на странице «О программе». Я хочу:
- удалить значок гамбургера и заменить его на что-то другое (кнопка «Назад»)
< li>удалите заголовок, чтобы на панели навигации был только новый значок (это тривиально) - измените поведение того, что происходит, когда значок-гамбургера меняется на- Нажата кнопка-кнопка-значок... вместо того, чтобы открывать меню, вернитесь на главную страницу.

< /p>
Текущий код
Я покажу следующий код:
- , где я вставил код для главной страницы и страницы «О программе».
Код: Выделить всё
AppShell.xaml
- , который сейчас неинтересен, но, возможно, мне нужно добавить код.
Код: Выделить всё
AboutPage.xaml
- , куда я добавляю метод, соответствующий действию нажатия стрелки «назад» во всплывающем меню (я не уверен, что это правильное место для добавления этого кода).
Код: Выделить всё
AboutPageViewModel.cs
Ответы на подобные вопросы я только что придумал. В любом случае, вот код в состоянии, прежде чем я начну пробовать разные вещи для достижения своих целей.
AppShell.xaml xml для домашней страницы :
Код: Выделить всё
Код: Выделить всё
Код: Выделить всё
Код: Выделить всё
namespace SandboxProject.ViewModel;
public partial class AboutPageViewModel : ObservableObject{}
Совсем немного. Я приведу пример, который имеет наибольший смысл...
Я почти уверен, что мне нужно использовать BackButtonBehavior (перейдите в конец этой страницы, чтобы прочитать об этом), но я использую его неправильно.
Вот изменения, которые я внес в код страницы «О программе» в ApShell.xaml... Я установил значок для FlyoutIcon в виде значка «о программе» (вы знаете, символ «i»), а значок для значка самой страницы я установил в виде стрелки влево. Я удалил заголовок.
Код: Выделить всё
Код: Выделить всё
Код: Выделить всё
namespace SandboxProject.ViewModel;
public partial class AboutPageViewModel : ObservableObject
{
[RelayCommand]
private async Task Back() =>
await Shell.Current.GoToAsync($"//{nameof(HomePage)}");
}
[img]https://i.stack. imgur.com/pJvgH.png[/img]
Если кто-нибудь сможет меня научить, буду признателен.
Подробнее здесь: https://stackoverflow.com/questions/783 ... ving-icons