在.NET MAUI中,当在弹出菜单上选择一个项目时,页面不会更改

gab6jxml  于 2023-04-08  发布在  .NET
关注(0)|答案(1)|浏览(177)
<?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并没有真正改变,所以我只是有点迷路。(公式页面只是一个空白的ContentPage)
我试着把每个shell内容分成不同的弹出项,只是在代码中乱作一团,不能让它工作

i7uq4tfw

i7uq4tfw1#

一切正常,直到它没有:D,基本上当我点击一个FlyoutItem,标题只是不改变,它不加载任何新的东西。AppShell.xaml.cs并没有真正改变,所以我只是有点迷路。(公式页面只是一个空白的ContentPage)
标题没有更改的原因是两个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>

标题将根据您单击的弹出项目而更改。

相关问题