xamarin.forms 如何显示当前时间,DateTime.Now 不会在 Android 上实时更新?

How can I show the current time with xamarin.forms, DateTime.Now not updating in real time on Android?

DateTime.Now在android中打开应用程序时不会实时更新时分秒,我有什么选择?。也因为它可以捕获月、日、年、小时和分钟,你可以给我看你的例子。

您可以创建一个 ViewModel 并将其与标签或其他内容绑定。

ViewModel 就像:

    class ClockViewModel : INotifyPropertyChanged
    {
        DateTime dateTime;

        public event PropertyChangedEventHandler PropertyChanged;

        public ClockViewModel()
        {
            this.DateTime = DateTime.Now;

            Device.StartTimer(TimeSpan.FromSeconds(1), () =>
                {
                    this.DateTime = DateTime.Now;
                    return true;
                });
        }

        public DateTime DateTime
        {
            set
            {
                if (dateTime != value)
                {
                    dateTime = value;

                    if (PropertyChanged != null)
                    {
                        PropertyChanged(this, new PropertyChangedEventArgs("DateTime"));
                    }
                }
            }
            get
            {
                return dateTime;
            }
        }
    }

这里是 xaml:

    <Label Text="{Binding DateTime, StringFormat='{0:T}'}"
           FontSize="Large"
           HorizontalOptions="Center"
           VerticalOptions="Center">
        <Label.BindingContext>
            <local:ClockViewModel />
        </Label.BindingContext>
    </Label>
</ContentPage>