Я не думаю, что всплывающие подсказки правильно используют привязку данных, или, по крайней мере, так, как Я считаю правильным. Если вы связываетесь со свойством ViewModel в объявлении всплывающей подсказки XAML, которое будет разрешено немедленно, это означает, что вызов будет сделан немедленно. Я полагаю, что вы могли бы добавить какое-либо присоединенное свойство или некоторую другую логику, чтобы перечислить событие открытия подсказки, а затем выполнить асинхронный вызов веб-службы.
С точки зрения MVVM, виртуальная машина, вероятно, не должна заботиться о том, почему что-то хочет получить данные, а просто требует ленивой загрузки. Таким образом, у вас может быть свойство на виртуальной машине (или, возможно, даже в объекте Model), которое предоставляет данные, но выполняет отложенную загрузку данных при первом вызове свойства. Когда асинхронный вызов возвращается, вы просто запускаете событие PropertyChanged на вашей виртуальной машине или M, которое должно быть связано с INotifyPropertyChanged. Тогда ваша привязка данных в представлении примет изменения. Ключом к запуску всего этого при появлении всплывающей подсказки является отсутствие привязки данных до тех пор, пока всплывающая подсказка не появится. Возможно, стоит потратить время на то, чтобы расширить всплывающую подсказку или сделать так, чтобы ваш собственный контейнер находился внутри всплывающей подсказки, выполняющей эту привязку к поздним данным.