Хорошо, вот что я нашел в качестве обходного пути:
Проблема с всплывающими подсказками исчезает, когда окно также становится TopMost.
Но я не хочу, чтобы мое окно было верхним, поэтому я делаю это только тогда, когда мое окно имеет фокус клавиатуры:
private void Window_GotKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)
{
this.Topmost = true;
}
private void Window_LostKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)
{
this.Topmost = false;
}
Затем я использую привязку, чтобы активировать каждую всплывающую подсказку, только когда у меня окно Topmost:
ToolTipService="{Binding ElementName=MainWindow, Path=Topmost}"
Это отключает всплывающую подсказку, кроме случаев, когда она работает правильно.
На самом деле мне не нужны подсказки, когда мое окно не в фокусе.
Единственное, что сейчас раздражает, так это то, что привязка вкл / выкл должна выполняться для каждого элемента, который определяет всплывающую подсказку.