我有一个Forms应用程序,该应用程序运行良好,但是当页面出现时,我注意到背景颜色的显示设置不正确,时间仅为一秒钟。
我的OnAppearing代码如下
protected override async void OnAppearing()
{
base.OnAppearing();
Subscribe();
vm.Theme = Settings.th.ToString();
await SetCardButtons(Settings.cc.Text());
}
有人可以解释base.OnAppearing()中发生了什么,这应该是我覆盖的第一行还是最后一行?
答案 0 :(得分:3)
base.OnAppearing()中发生的事情
OnAppearing
是Page
基类中的虚拟方法,它不包含任何代码(但这并不意味着它不执行任何操作)。
取决于您使用哪个Page
子类,可能会执行不同的操作,例如MasterDetailPage
执行逻辑以确定是否应将其显示为splitview(并排)模式,本机iOS代码将在iPad上执行此操作,....
这应该是我覆盖的第一行还是最后一行?
通常,这将在您的覆盖中首先被调用,以允许任何自定义子类代码正确设置UI。
答案 1 :(得分:-1)
base.OnAppearing()什么都不做
查看Page.cs的源代码