我需要每 5 秒运行一次以更新 UI
public ViewModelCtor()
{
var timer = new System.Timers.Timer(5000)
{
Enabled = true
};
timer.Elapsed += (sender, args) =>
{
TimeSinceLastLogin = CalculateTimeSinceLastLogin();
};
public string TimeSinceLastLogin
{
get { return _timeSinceLastLogin; }
set
{
if (value == _timeSinceLastLogin) return;
_timeSinceLastLogin = value;
OnPropertyChanged(new PropertyChangedEventArgs(nameof(TimeSinceLastLogin)));
}
}
CalculateTimeSinceLastLogin 只是将 TimeSinceLastLogin 属性设置为一个值。没什么特别的。
计时器在工作线程上执行,因此 UI 不会根据我的判断进行更新。我应该怎么做才能更新 UI?我的解决方案需要是不可知的,因为它可以针对 wpf 或 xamarin。