1

C#Windows Phone-テキストブロックを4秒間表示して非表示にするにはどうすればよいですか?

これは私が持っているものです:

    statusbox.Text = ("Loading...")TimeSpan.FromSeconds(05);
4

4 に答える 4

2

DispatcherTimer後でテキストをクリアするaを開始するだけです。

DispatcherTimer timer = new DispatcherTimer();
timer.Tick += {
    statusbox.Text = "";
    timer.Stop();
};
timer.Interval = TimeSpan.FromSeconds(4);
timer.Start();

ただし、何かがロードされている間に表示することを意図している場合は、ロードが終了したときにステータステキストをクリアしてみませんか?

于 2012-12-23T22:09:38.317 に答える
0

これは、非同期関数を使用してより適切に解決できます。

// in .NET 4
await TaskEx.Delay(4000);
statusbox.Text = String.Empty;

これは、何が起こっているのかを理解しやすくするため、考えるための追加のソリューションにすぎません。VisualStudio2010の場合はAsyncCTP3を使用するか、VS2012の場合はAsyncターゲティングパックを使用する必要があります。.NET 5(WP8など)を使用している場合は、上記の方法の代わりにTask.Delayを使用できます。

于 2012-12-24T00:01:40.113 に答える
0

スケジューリングタスクを使用することをお勧めします。タイマーよりもはるかに優れています。アクションでスケジュールを設定できます。

于 2012-12-24T03:05:21.830 に答える
0

このためのアニメーションを実行することもできます。

于 2012-12-24T09:26:58.630 に答える