我有一个带有两个子页面PageA和PageB(以相同顺序)的TabbedPage。 在启动选项卡页面时,PageA的OnAppearing方法被调用两次。我该如何防止这种情况发生?
以下是TabbedPage的示例代码:
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:views="clr-namespace:SampleApp.Pages"
x:Class="SampleApp.TabbedPage1">
<views:PageA Title="Page A" />
<views:PageB Title="Page B" />
</TabbedPage>
答案 0 :(得分:2)
好的,我找到了解决方案。由于示例中的PageA是第一页,因此只要调用主页的InitializeComponent,就会初始化具有0索引的页面。此外,似乎Xamarin.Forms将CurrentPage属性设置为子列表中的第一页,导致OnAppearing方法被调用两次。要防止这种情况发生,可以将TabbedPage的CurrentPage属性设置为null。
以下是示例:
public TabbedPage1()
{
InitializeComponent();
CurrentPage = null;
}