0

我正在制作带有 2 个选项卡的页面,每个选项卡顶部都有搜索栏,当我导航到其他选项卡并返回第一个选项卡时,第一个选项卡上的搜索栏值仍然存在。导航到其他选项卡时如何删除状态或引用?因此,当导航回第一个选项卡时,它是一个新页面(搜索栏上没有值并且触发了构造函数)而不是旧页面(不触发构造函数)。

我正在使用 xamarin 外壳。

    <Tab Title="Coffee">
        <Tab.Icon>
            <FontImageSource FontFamily="FAS"
                         Color="{AppThemeBinding 
                                Dark=White, 
                                Light={StaticResource SystemGray5Dark}}"
                         Glyph="{StaticResource IconCoffee}"/>
        </Tab.Icon>
        <ShellContent Title="Light" ContentTemplate="{DataTemplate local:CoffeeEquipmentPage}" Route="CoffeeEquipmentPage" />
        <ShellContent Title="Medium" ContentTemplate="{DataTemplate local:CoffeeEquipmentPage}" Route="CoffeeEquipmentPage2" />
        <ShellContent Title="Dark" ContentTemplate="{DataTemplate local:CoffeeEquipmentPage}" Route="CoffeeEquipmentPage3" />
    </Tab>
    <Tab Title="Espresso">
        <Tab.Icon>
            <FontImageSource FontFamily="FAS"
                         Color="{AppThemeBinding 
                                Dark=White, 
                                Light={StaticResource SystemGray5Dark}}"
                         Glyph="{x:Static fontAwesome:FontAwesomeIcons.MugHot}"/>
        </Tab.Icon>
        <ShellContent Title="tab 2" ContentTemplate="{DataTemplate local:CoffeeEquipmentPage}" Route="CoffeeEquipmentPage3" />
    </Tab>

我附上了 gif 来展示这种行为。 关联

4

0 回答 0