private static void OnElementMouseEnter(object sender, MouseEventArgs e) { MousePosition = e.GetPosition(null); lock (locker) { currentElement = (UIElement)sender; if (currentElement != null && elementsAndToolTips.Count > 0 && elementsAndToolTips.ContainsKey(currentElement)) { CurrentToolTip = elementsAndToolTips[currentElement]; SetRootVisual(); // do not trigger tooltips when there is no content defined for the tooltip if (CurrentToolTip.Content == null) { return; } if (CurrentToolTip.InitialDelay.TimeSpan.Ticks == 0 && CurrentToolTip.OpenAnimation == null) { CurrentToolTip.IsOpen = true; } else if (CurrentToolTip.InitialDelay.TimeSpan.Ticks == 0 && CurrentToolTip.OpenAnimation != null) { StartOpenAnimation(); } if (isCloseAnimationInProgress && CurrentToolTip.CloseAnimation != null) { CurrentToolTip.CloseAnimation.Stop(); } if (CurrentToolTip.Timer == null) { CurrentToolTip.SetToolTipTimer(); } CurrentToolTip.Timer.StartAndReset(); } } }
private static void UpdateToolTipTimer(ToolTip toolTip) { toolTip.SetToolTipTimer(); }
private static void UpdateToolTipTimer(ToolTip toolTip) { toolTip.SetToolTipTimer(); }
private static void OnElementMouseEnter(object sender, MouseEventArgs e) { MousePosition = e.GetPosition(null); lock (locker) { currentElement = (UIElement)sender; if (currentElement != null && elementsAndToolTips.Count > 0 && elementsAndToolTips.ContainsKey(currentElement)) { CurrentToolTip = elementsAndToolTips[currentElement]; SetRootVisual(); // do not trigger tooltips when there is no content defined for the tooltip if (CurrentToolTip.Content == null) return; if (CurrentToolTip.InitialDelay.TimeSpan.Ticks == 0 && CurrentToolTip.OpenAnimation == null) { CurrentToolTip.IsOpen = true; } else if (CurrentToolTip.InitialDelay.TimeSpan.Ticks == 0 && CurrentToolTip.OpenAnimation != null) { StartOpenAnimation(); } if (isCloseAnimationInProgress && CurrentToolTip.CloseAnimation != null) { CurrentToolTip.CloseAnimation.Stop(); } if (CurrentToolTip.Timer == null) { CurrentToolTip.SetToolTipTimer(); } CurrentToolTip.Timer.StartAndReset(); } } }