Я создаю пользовательскую подсказку, которая должна получить ссылку на другой элемент управления. Это очень похоже на то, как Storyboard.TargetName будет работать. Теперь я прокрутил свою собственную реализацию о том, как получить ссылку на цель, например (обратите внимание, что моя цель всегда будет родителем всплывающей подсказки):
public object FindTarget(string targetName)
{
var target = default(object);
FrameworkElement item = this;
while ((item = item.Parent as FrameworkElement) != null && target == null)
target = item.FindName(targetName);
return target;
}
Мой вопрос: есть ли способ сделать это, встроенный в фреймворк? Похоже, что это достаточно распространенная задача, что это было бы.
Редактировать
Оказывается, что вышеприведенный алгоритм на самом деле не работает для всплывающих подсказок, потому что их свойство Parent всегда равно null. Я предполагаю, что всплывающие подсказки основаны на всплывающих окнах, и поэтому родительский элемент имеет значение null.