2010-11-16 58 views

回答

1

您可以創建一個新的Popup並將該工具提示模擬爲該Popup。

你只需要處理這兩個事件:MouseEnter,MouseLeave。

在鼠標輸入,你可以有一個定時器x秒後打開彈出:

private void Canvas_MouseEnter(object sender, System.Windows.Input.MouseEventArgs e) { 
    timer = new Timer(500); 
    timer.Elapsed += timer_Elapsed; 
    timer.Enabled = true; 
} 

,並在鼠標離開你取消計時器:

private void Canvas_MouseLeave(object sender, System.Windows.Input.MouseEventArgs e) { 
    timer.Elapsed -= timer_Elapsed; 
    timer = null; 
} 

當計時器到期,你」將使用調度程序打開彈出窗口:

void timer_Elapsed(object sender, ElapsedEventArgs e) { 
    Dispatcher.BeginInvoke(DispatcherPriority.Normal, new oolDelegate(OpenTooltip), true); 
} 

打開工具提示方法將打開彈出窗口:

public void OpenTooltip(bool isOpen) { 
    popup.IsOpen = isOpen; 
    popup.LostFocus += popup_LostFocus; 
} 

而且你還可以關閉它,當彈出失去焦點

希望這可以幫助