Для одного из требований в нашем проекте silverlight один из моих товарищей по команде написал специальный ToolTipManager.Нам бы хотелось иметь всплывающие подсказки, которые остаются видимыми даже после того, как мышь вышла из-под контроля / всплывающей подсказки.И удаляйте его только тогда, когда пользователь нажимает куда-то еще.Следовательно, этот пользовательский класс ToolTipManager.
В этом классе есть прикрепленное свойство ToolTipProperty, для которого существует OnToolTipPropertyChanged.В этом случае handeler ссылка элемента управления, к которому прикреплено свойство, добавляется в личный список в ToolTipManager.
private static void OnToolTipPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
var owner = (UIElement)d;
var newValue = e.NewValue;
if (newValue != null)
// ElementsAndToolTips is dictionary.
ElementsAndToolTips.Add(new WeakReference(owner), newValue);
}
Я хочу удалить ссылку элемента управления из списка, когда этот элемент управления удален.Где я могу это сделать.Есть ли какое-либо событие или метод, например, в присоединенном свойстве unload / detached или что-то в этом роде?
PS Свойство используется во многих различных элементах управления, было бы хорошо сделать изменения в классе ToolTipManager, а не во многих других местах.