C# Silverlight中活动页上的调用方法
我正在尝试用Silverlight构建一个时钟应用程序。 我的应用程序有多个页面,一个用于模拟,一个用于数字,一个用于计时器 如果我想有一个单独的类来处理计时,如下所示:C# Silverlight中活动页上的调用方法,c#,silverlight,C#,Silverlight,我正在尝试用Silverlight构建一个时钟应用程序。 我的应用程序有多个页面,一个用于模拟,一个用于数字,一个用于计时器 如果我想有一个单独的类来处理计时,如下所示: private void startTimer() { DispatcherTimer myDispatcherTimer = new DispatcherTimer(); myDispatcherTimer.Interval = new TimeSpan(0,0,1);
private void startTimer()
{
DispatcherTimer myDispatcherTimer = new DispatcherTimer();
myDispatcherTimer.Interval = new TimeSpan(0,0,1);
myDispatcherTimer.Tick += new EventHandler(eachClick);
myDispatcherTimer.Start();
}
如何获取显示的当前页面,以便该方法可以使用该页面的事件处理程序
最好的办法是什么?我真的不明白你到底想做什么。“如何获取当前页面,以便该方法可以使用该页面事件处理程序?” 如果您有三个页面,并且您正在尝试同步这三个页面之间的时间,为什么不创建一个静态计时器类呢 我不知道,也许是这样的:
public static class StaticTimer
{
public delegate void Time(DateTime time);
public static event Time Tick = delegate { };
static StaticTimer()
{
DispatcherTimer myDispatcherTimer = new DispatcherTimer();
myDispatcherTimer.Interval = new TimeSpan(0,0,1);
myDispatcherTimer.Tick += (s,e) => Tick(DateTime.Now);
myDispatcherTimer.Start();
}
}
然后,在每个页面中,创建勾号事件时只需订阅它
void AnalogPage_OnLoaded( ... )
{
StaticTimer.Tick += someEventHandler;
}
void someEventHandler(DateTime time)
{
if(thisIsCurrentPage)
{
clock.Update(time);
}
}
这就是我试图实现的目标。我只是不知道怎么形容它。非常感谢。