如何扩展内容页面

时间:2018-10-19 19:46:57

标签: c# xamarin xamarin.forms xamarin.ios

如何扩展类“内容页面”以创建在用户第一次访问页面时执行的方法?

(Xamarin.Forms)

2 个答案:

答案 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将自动保存。