DispatcherTimer を使用せずに現在の時刻を表示する他のオプションはありますか? 残念ながら、アプリは低速の PC で実行する必要があり、DispatcherTimer はメモリ使用量を継続的に増加させます。私は WPF パフォーマンス プロファイリング ツールでそれを確認しましたが、それは本当です - 1 秒のタイムスパンでの CPU 使用率は ~5-15% です。そして、クラスを使用して時間値を取得し、それをラベルに表示するため、表示するメソッドが xaml で生成されたコントロールなしで実行できると便利です。
ありがとう!
@編集:
DispatcherTimer dispatcherTimer = new DispatcherTimer();
dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
dispatcherTimer.Interval = new TimeSpan(0, 0, 0);
dispatcherTimer.Start();
そしてティックするとき:
private void dispatcherTimer_Tick(object sender, EventArgs e)
{
lbl.Content = DateTime.Now.ToString("F");
// lbl is static label which i create once and show i several windows.
}