如何扩展类“内容页面”以创建在用户第一次访问页面时执行的方法?
(Xamarin.Forms)
答案 0 :(得分:0)
这可能是最简单的方法:
public abstract class CustomContentPage : ContentPage
{
private bool _appeared;
protected override void OnAppearing()
{
base.OnAppearing();
if (!_appeared)
{
OnFirstAppearing();
_appeared = true;
}
}
protected abstract void OnFirstAppearing();
}
答案 1 :(得分:0)
首先,您将要使用Application.Properties词典,以便保留应用程序的状态,即用户是否曾经浏览过该页面。
因此,在ContentPage子类的OnAppearing方法重写中,检查是否已在Application.Current.Properties字典中设置了该属性,以查看是否已访问该页面。如果密钥不存在,请对其进行设置,并在首次访问该页面时执行所需的任何操作。如果存在该密钥,请为以后的页面访问做任何您想做的事情,例如:
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
protected override void OnAppearing()
{
base.OnAppearing();
if (!Application.Current.Properties.ContainsKey("main_page_visited"))
{
Application.Current.Properties["main_page_visited"] = true;
label.Text = "First Time visited";
}
else
{
label.Text = "Second+ Time visited";
}
}
}
退出应用后,Application.Current.Properties
将自动保存。