Xamarin appshell-强制立即创建第二个选项卡(视图)

时间:2019-07-07 17:10:04

标签: c# xamarin

我正在使用新的Xamarin Appshell。

在我的AppShell.xaml文件中,我有一段这样的代码:

    <TabBar>
    <Tab Title="Menu" Icon="tab_feed.png">
        <ShellContent ContentTemplate="{DataTemplate local:MainMenuPage}" />
    </Tab>
    <Tab Title="Map" Icon="tab_feed.png">
        <ShellContent ContentTemplate="{DataTemplate local:MapPage}" />
    </Tab>
    <Tab Title="S.O.S" Icon="tab_feed.png">
        <ShellContent ContentTemplate="{DataTemplate local:SOSPage}" />
    </Tab>
    <Tab Title="About" Icon="tab_about.png">
        <ShellContent ContentTemplate="{DataTemplate local:AboutPage}" />
    </Tab>
</TabBar>

菜单页面立即显示...这就是我想要的。但是创建菜单页面后,我需要立即创建MapPage视图的实例。 (此MapPAge尚未显示给用户。)因此,当任何人触摸该Map选项卡时,将显示MapPage视图的初始实例。我从不希望创建MapView的新实例。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

如果要创建选项卡的实例,请删除DataTemplate选择器。

<ShellContent>
   <views:YourMapsPage />
</ShellContent>
  

在Shell应用程序中,ShellContent中的每个ContentPage对象   对象是在应用程序启动期间创建的

     

但是,Shell还允许根据需要创建页面,以响应   导航。这可以通过使用DataTemplate来完成   标记扩展将每个ContentPage转换为一个DataTemplate,以及   然后将结果设置为ShellContent.ContentTemplate属性   值:

From Shell Tabs Documentation.