随着时间的流逝刷新页面上的信息

本文关键字:信息 流逝 时间 刷新 | 更新日期: 2023-09-27 18:34:40

我有一个主页,它根据当前时间从本地xml文件中获取信息。

当应用程序启动时,它会检查当前时间,并基于此获取正确的 xml 值并将其显示在文本块中。但它没有更新。我正在考虑在页面上放置一个刷新按钮,但更聪明的头脑建议使用DispatchTimer or Timer。我应该使用什么,我应该把代码放在哪里?我是非常基本的用户,所以如果你能具体一点并给出代码示例,将不胜感激。

谢谢大家:)我的一小部分代码。

    var obj = filteredData.First();
    TimeSpan currentTime = myDay.TimeOfDay;
    string result = String.Empty;
    string Prayer = String.Empty;
    if (currentTime >= obj.Fajr && currentTime < obj.Sunrise)
    {
        result = "Fajr";
        Prayer = obj.Fajr.ToString(@"hh':mm");
    }
    else if (currentTime >= obj.Sunrise && currentTime < obj.Zohr)
    {
        result = "Sunrise";
        Prayer = obj.Sunrise.ToString(@"hh':mm");
    }
    textBlock3.Text = result;
    textBlock4.Text = Prayer;

随着时间的流逝刷新页面上的信息

使用视图模型和后台线程可能更好地解决这个问题,如下所示:

public class PrayerViewModel : DependencyObject
    public PrayerViewModel ()
    {
         // TODO: Start off a new thread that Raises the PropertyChanged() Event for each property at the right time
    }
    public string Result
    {
         get
         {
            TimeSpan currentTime = myDay.TimeOfDay;
            if (currentTime >= obj.Fajr && currentTime < obj.Sunrise)
            {
                return "Fajr";
            }
            else if (currentTime >= obj.Sunrise && currentTime < obj.Zohr)
            {
                return "Sunrise";
            }
        }
    }
    public string Prayer
    {
         get
         {
            TimeSpan currentTime = myDay.TimeOfDay;
            if (currentTime >= obj.Fajr && currentTime < obj.Sunrise)
            {
                Prayer = obj.Fajr.ToString(@"hh':mm");
            }
            else if (currentTime >= obj.Sunrise && currentTime < obj.Zohr)
            {
                Prayer = obj.Sunrise.ToString(@"hh':mm");
            }
        }
    }
}