0

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

当应用程序启动时,它会检查当前时间并在此基础上获取正确的 xml 值并将其显示在文本块中。但它没有更新。我正在考虑在页面上放置一个刷新按钮,但更聪明的头脑建议使用 DispatchTimer 或 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;
4

1 回答 1

0

使用视图模型和后台线程可能会更好地解决此问题,例如

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");
            }
        }
    }
}
于 2012-05-17T16:01:53.950 回答