Greetings!
The ToolTipService.BetweenShowDelay property is defined as:
"[...] the maximum time between the display of two tooltips where the second tooltip appears without a delay."
In other words, if one tooltip opens and the user moves the mouse cursor to another element within the specified time, then the tooltip of said second element shows without any delay.
Annoyingly, this does not work at all. Please have a look at the following example:
<StackPanel Orientation="Horizontal"><Button Content="Button1" ToolTipService.InitialShowDelay="1000" ToolTipService.BetweenShowDelay="1"><ToolTipService.ToolTip><TextBlock>ToolTip1</TextBlock></ToolTipService.ToolTip></Button><Button Content="Button2" ToolTipService.InitialShowDelay="1000" ToolTipService.BetweenShowDelay="1"><ToolTipService.ToolTip><TextBlock>ToolTip2</TextBlock></ToolTipService.ToolTip></Button></StackPanel>
Hover the mouse over either one of the buttons and wait for the tooltip to open. Now wait for a little while and then move the mouse to the other button. You should notice that the tooltip opensimmediately.
No matter what I do, the BetweenShowDelay won't work. I'm desperate to disable these "quick tooltips", i.e. if the mouse moves over to another element, the next tooltip is not shown befor its InitialShowDelay has expired.
Let's say you have a large toolbar with many items. With the current behavior, tooltips will open everywhere once the user has opened one of them and then moves the mouse.This can severely degrade user experience!
It seems that this issue was discussed years ago - please refer here:
https://social.msdn.microsoft.com/Forums/vstudio/en-US/e396c760-9b49-45c4-bda1-362f2130634d/how-to-disable-betweenshowdelay?forum=wpf
Some workarounds have been discussed. I haven't bothered to try any of them because I deem none of them appropriate, as this is clearly a responsibilty of the ToolTipService.
Could you please have a look at this?! It's really frustrating...
Thank you very much for your support!
Best regards