Xamarin Forms Shell-一次加载所有选项卡-渴望加载而不是延迟加载

时间:2019-02-11 19:22:10

标签: xamarin xamarin.forms

在Xamarin Forms中,我过去曾使用TabbedPage制作选项卡,每个选项卡都将被立即加载,因此当您从一个选项卡过渡到另一个选项卡时,它已经被加载。

现在在一个新应用中,我正在Xamarin 4.0中试用新的Shell。我的两个标签中都有一个Web浏览器,但是直到您单击该标签后,它才开始尝试加载页面。是否可以一次加载外壳中的所有选项卡?

1 个答案:

答案 0 :(得分:0)

我正在发布我所问的实际问题的答案,但是,请参阅底部的免责声明。

Xamrin Forms 4.0预览版,渴望加载页面时,请使用以下代码:

<ShellSection  x:Name="SpotlightShellSection"  Title="Spotlight" Icon="tab_feed.png">
            <ShellContent Title="Stats" >
                <local:StatsPage/>
            </ShellContent>
            <ShellContent Title="Upcoming" >
                <local:UpcomingPage/>
            </ShellContent>
            <ShellContent Title="ByMonth" >
                <local:ByMonthPage/>
            </ShellContent>
            <ShellContent Title="Stats2" >
                <local:StatsPage/>
            </ShellContent>
        </ShellSection>

要延迟加载,请使用如下代码:

    <ShellSection  x:Name="SpotlightShellSection"  Title="Spotlight" Icon="tab_feed.png">
<ShellContent Title="Stats" Content="" ContentTemplate="{DataTemplate local:Spotlight.StatsPage}" />
<ShellContent Title="Upcoming" ContentTemplate="{DataTemplate local:Spotlight.UpcomingPage}"  />
<ShellContent ContentTemplate="{DataTemplate local:Spotlight.ByMonthPage}" />
</ShellSection>

警告,这是我的问题,WebView的内容不一定只在android中加载。在iOS中,Webview的内容将保持预期的状态。