diff --git a/src/Avalonia.Controls/Presenters/ContentPresenter.cs b/src/Avalonia.Controls/Presenters/ContentPresenter.cs index 97760b5632..c1adff402a 100644 --- a/src/Avalonia.Controls/Presenters/ContentPresenter.cs +++ b/src/Avalonia.Controls/Presenters/ContentPresenter.cs @@ -255,9 +255,18 @@ namespace Avalonia.Controls.Presenters LogicalChildren.Remove(oldChild); } - if (newChild.Parent == null && TemplatedParent == null) + if (newChild.Parent == null) { - LogicalChildren.Add(newChild); + var templatedLogicalParent = TemplatedParent as ILogical; + + if (templatedLogicalParent != null) + { + ((ISetLogicalParent)newChild).SetParent(templatedLogicalParent); + } + else + { + LogicalChildren.Add(newChild); + } } VisualChildren.Add(newChild);