private static void OnAdornmentAttached(DependencyObject d, DependencyPropertyChangedEventArgs args) { var element = d as FrameworkElement; if (element == null) { return; } UIElement adornment = (UIElement)args.NewValue; var adorner = GetHwndAdorner(element); if (adornment != null) { if (adorner == null) { SetHwndAdorner(element, adorner = new HwndAdorner(element)); } adorner.Adornment = adornment; } else { if (adorner != null) { adorner.Dispose(); SetHwndAdorner(element, null); } } }
private static void SetHwndAdorner(DependencyObject element, HwndAdorner value) { element.SetValue(HwndAdornerProperty, value); }
public HwndHostPresenter() { m_hwndAdorner = new HwndAdorner(this); AddLogicalChild(m_hwndAdorner.Root); }