我需要能够影响TimerCallback中的多个Textblock元素。目前,我有这个:
t = new Timer(tc, myLabel, 0, 1000);
然而,在tc中,我想做以下事情:
myLabel.Text = "ABC";
myLabel2.Text = "DEF";
我还没弄明白如何将多个对象传递给我的TimerCallback。无论何时我尝试在TimerCallback中设置TextBlock,我都会收到错误:
System.UnauthorizedAccessException
我尝试在一个对象数组中进行编码但是没有用。
答案 0 :(得分:2)
您需要使用DispatchTimer
。你必须这样做,因为它是一个单独的线程。
private void InitializeTimers()
{
DispatcherTimer tmr = new DispatcherTimer();
tmr.Interval = TimeSpan.FromSeconds(1);
tmr.Tick += OnTimerTick;
tmr.Start();
}
private void OnTimerTick(object sender, EventArgs args)
{
//do whatever you want
}