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 に答える