我需要每5秒运行一次以更新用户界面
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。