14 private ContentPresenter _contentPresenter;
24 public TemplatedAdorner(UIElement adornedElement, DataTemplate contentDataTemplate,
object content) : base(adornedElement)
26 _contentPresenter =
new ContentPresenter
28 ContentTemplate = contentDataTemplate,
33 AdornerLayer adornerLayer = AdornerLayer.GetAdornerLayer(AdornedElement);
34 adornerLayer?.Add(
this);
43 protected override int VisualChildrenCount => 1;
45 protected override Visual GetVisualChild(
int index) => this._contentPresenter;
47 protected override Size MeasureOverride(Size constraint) => this.AdornedElement.RenderSize;
49 protected override Size ArrangeOverride(Size finalSize)
51 _contentPresenter.Arrange(
new Rect(
new Point(0, 0), finalSize));