<?xml version = "1.0" encoding = "UTF-8" ?>
<Shell
x:Class = "ArnoFormulynas.AppShell"
xmlns = "http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x = "http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local = "clr-namespace:ArnoFormulynas"
Shell.FlyoutBehavior = "Flyout"
Shell.TabBarIsVisible = "False">
<FlyoutItem FlyoutDisplayOptions = "AsMultipleItems">
<ShellContent Title = "Termodynamics"
ContentTemplate = "{DataTemplate local:FormulaPage}"
Route = "FormulaPage">
</ShellContent>
<ShellContent Title = "Molecular Physics"
ContentTemplate = "{DataTemplate local:FormulaPage}"
Route = "FormulaPage">
</ShellContent>
</FlyoutItem>
</Shell>
Все работало, пока не перестало: D, в основном, когда я нажимаю на FlyoutItem, заголовок просто не меняется и не загружает ничего нового. AppShell.xaml.cs на самом деле не изменился, поэтому я немного растерялся. (Страница формулы — это просто пустая страница содержимого)
Я попытался разделить содержимое каждой оболочки на разные всплывающие элементы и просто возился с кодом, не смог заставить его работать
Все работало, пока не перестало: D, в основном, когда я нажимаю на FlyoutItem, заголовок просто не меняется и не загружает ничего нового. AppShell.xaml.cs на самом деле не изменился, поэтому я немного растерялся. (Страница формулы — это просто пустая страница содержимого)
Причина, по которой заголовок не изменился, заключается в том, что маршруты для обоих ShellContents одинаковы. Вы можете изменить Route
на это:
<FlyoutItem FlyoutDisplayOptions = "AsMultipleItems">
<ShellContent Title = "Termodynamics"
ContentTemplate = "{DataTemplate local:FormulaPage}"
Route = "FormulaPage1">
</ShellContent>
<ShellContent Title = "Molecular Physics"
ContentTemplate = "{DataTemplate local:FormulaPage}"
Route = "FormulaPage2">
</ShellContent>
</FlyoutItem>
Заголовок изменится в зависимости от элемента FlyoutItem, на который вы нажали.