【问题标题】:What happens in the OnAppearing of Xamarin Forms?Xamarin 表单的 OnAppearing 会发生什么?
【发布时间】:2020-03-27 20:05:05
【问题描述】:

我有一个运行良好的 Forms 应用程序,但我注意到在页面出现时的几分之一秒内背景颜色设置不正确。

我的 OnAppearing 有此代码

    protected override async void OnAppearing()
    {
        base.OnAppearing();
        Subscribe();
        vm.Theme = Settings.th.ToString();
        await SetCardButtons(Settings.cc.Text());
    }

有人可以解释在 base.OnAppearing() 中发生了什么吗?这应该是我覆盖的第一行还是最后一行?

【问题讨论】:

  • 如果涉及 vm.Theme 的语句与背景颜色有任何关系,如果放在 OnAppearing 之后,可能会出现观察到的背景颜色效果。如果可能,将其移至构造函数?

标签: xamarin xamarin.forms


【解决方案1】:

base.OnAppearing() 中发生了什么

OnAppearingPage 基类中的一个虚方法,它不包含任何代码(但这并不意味着它不做任何事情)。

根据您使用的 Page 子类,可能会执行不同的操作,例如 MasterDetailPage 执行逻辑以确定是否应显示为 splitview(并排)模式,本机 iOS 代码会在 iPad 上执行此操作,....

这应该是我覆盖的第一行还是最后一行?

通常会在您的覆盖中首先调用它,以允许任何自定义子类代码正确设置 UI。

【讨论】:

    猜你喜欢
    • 2019-01-01
    • 2014-09-19
    • 1970-01-01
    • 2020-01-30
    • 1970-01-01
    • 2021-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多