我有一个主页面,它根据currentTime从本地xml文件中获取信息。
当应用程序启动时,它会检查当前时间并根据它获取正确的xml值并在textblock中显示它。但它确实没有更新。我正在考虑在页面上放置一个刷新按钮,但更聪明的头部建议使用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;
答案 0 :(得分: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");
}
}
}
}