Как сбросить навигационный стек при повторном зажаре одной и той же вкладки?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как сбросить навигационный стек при повторном зажаре одной и той же вкладки?

Сообщение Anonymous »

Я строю приложение .NET Maui, используя Shell с нижним баром, который включает в себя вкладки Home, Search и Cart. Когда пользователь нажимает на ресторан, приложение перемещается на страницу с подробной информацией, используя: < /p>
await shell.current.gotoasync ($ "{nameof (resturetDetailPage)}? RestaurantJson = {inCodedjson}", True); < /p>
все работает так, как ожидалось, до этого. Пользователь находится в ресторане, а затем снова нажимает на вкладку «Дом», я хочу, чтобы приложение сбросило навигационную стек и показала корневую домашнюю страницу. Я ожидаю, что вкладка «Дом» сбросится на корневую страницу, как в Instagram, Twitter или Amazon.Hooking into Shell.Navigated in AppShell.xaml.cs:

private async void OnShellNavigated(object sender, ShellNavigatedEventArgs e)
{
var currentRoute = Shell.Current?.CurrentItem?.CurrentItem?.Route;
if (_lastRoute == currentRoute && currentRoute == "HomePage")
{
await Shell.Current.GoToAsync("//home");
}
_lastRoute = currentRoute;
}

Creating a ShellBehavior (TabResetBehavior) to detect repeated tab taps.

Manually calling GoToAsync("//home") or trying to pop pages.
< /code>
Ожидаемое поведение: < /p>
When the Home tab is tapped again, it should pop to root, resetting to the HomePage.


Подробнее здесь: https://stackoverflow.com/questions/795 ... e-same-tab
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»