我正在制作带有 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 来展示这种行为。 关联