static void HelpInfoChange(DependencyObject o, DependencyPropertyChangedEventArgs args) { UIElement element = (UIElement)o; var layer = AdornerLayer.GetAdornerLayer(element); HelpToolTipInfo info = (HelpToolTipInfo)args.NewValue; if (info == null) { foreach (var ad in layer.GetAdorners(element).EmptyIfNull().OfType <HelpAdorner>().ToList()) { layer.Remove(ad); } } else { layer.Add(new HelpAdorner(element) { ToolTip = new ToolTip { Content = new HelpToolTip { DataContext = info } } }); } }
public static void SetHelpInfo(DependencyObject obj, HelpToolTipInfo value) { obj.SetValue(HelpInfoProperty, value); }