2010-09-09 38 views
0

嘗試包括基於下面的代碼hoverIntent:我如何設置一個計時器XAML.CS這就像HoverIntent在Javascript

private void ViewerTab_MouseLeave(object sender, MouseEventArgs e) 
      { 
       _mouseOverTabPanel = false; 

       ChangeCurrentPanelPosition(TabPanelPosition.Bottom); 
      } 

      private void ViewerTab_MouseEnter(object sender, MouseEventArgs e) 
      { 
       _mouseOverTabPanel = true; 
      } 

的ChangeCurrentPanelPosition應該理想地只鼠標離開〜1秒,後火如果鼠標再次進入,計時器將清除。

+0

WPF? Windows窗體? Silverlight的?你已經嘗試了什麼?當你嘗試時發生了什麼? – 2010-09-09 07:05:32

+0

爲了清晰起見進行了編輯。 – bcm 2010-09-09 12:11:59

回答

0

這爲我工作:

public DispatcherTimer myDispatcherTimer = new DispatcherTimer(); 

private void ViewerTab_MouseLeave(object sender, MouseEventArgs e) 
{ 
    myDispatcherTimer.Interval = new TimeSpan(0, 0, 0, 0, 1000); 
    myDispatcherTimer.Tick += new EventHandler(functiontocall); 
    myDispatcherTimer.Start(); 
} 

public void functiontocall(object o, EventArgs sender) 
{ 
    // do something here 

    myDispatcherTimer.Stop(); 
} 

private void ViewerTab_MouseEnter(object sender, MouseEventArgs e) 
{ 
    myDispatcherTimer.Stop(); 
}