diff --git a/samples/ControlCatalog/MainView.xaml b/samples/ControlCatalog/MainView.xaml
index 0f7f2e80a8..2ddb5887e5 100644
--- a/samples/ControlCatalog/MainView.xaml
+++ b/samples/ControlCatalog/MainView.xaml
@@ -32,10 +32,10 @@
+
-
diff --git a/samples/ControlCatalog/SideBar.xaml b/samples/ControlCatalog/SideBar.xaml
index f97a3064e7..625b344b8c 100644
--- a/samples/ControlCatalog/SideBar.xaml
+++ b/samples/ControlCatalog/SideBar.xaml
@@ -26,7 +26,7 @@
(SelectionMode.AlwaysSelected);
ItemsPanelProperty.OverrideDefaultValue(DefaultPanel);
AffectsMeasure(TabStripPlacementProperty);
+ ContentControlMixin.Attach(
+ SelectedContentProperty,
+ x => x.LogicalChildren,
+ "PART_SelectedContentHost");
}
///
@@ -142,7 +147,7 @@ namespace Avalonia.Controls
ItemsPresenterPart = e.NameScope.Get("PART_ItemsPresenter");
- ContentPart = e.NameScope.Get("PART_Content");
+ ContentPart = e.NameScope.Get("PART_SelectedContentHost");
}
///
diff --git a/src/Avalonia.Themes.Default/TabControl.xaml b/src/Avalonia.Themes.Default/TabControl.xaml
index a492698feb..60c70ebfda 100644
--- a/src/Avalonia.Themes.Default/TabControl.xaml
+++ b/src/Avalonia.Themes.Default/TabControl.xaml
@@ -18,7 +18,7 @@
MemberSelector="{TemplateBinding MemberSelector}" >
(x =>
+ new TextBlock { Tag = "bar", Text = x }),
+ Items = new[] { "Foo" },
+ };
+
+ ApplyTemplate(target);
+ target.ContentPart.UpdateChild();
+
+ var content = Assert.IsType(target.ContentPart.Child);
+ Assert.Equal("bar", content.Tag);
+ Assert.Same(target, content.GetLogicalParent());
+ Assert.Single(target.GetLogicalChildren(), content);
+ }
+
private IControlTemplate TabControlTemplate()
{
return new FuncControlTemplate(parent =>
-
new StackPanel
{
- Children = {
- new ItemsPresenter
- {
- Name = "PART_ItemsPresenter",
- [!TabStrip.ItemsProperty] = parent[!TabControl.ItemsProperty],
- [!TabStrip.ItemTemplateProperty] = parent[!TabControl.ItemTemplateProperty],
- },
- new ContentPresenter
- {
- Name = "PART_Content",
- [!ContentPresenter.ContentProperty] = parent[!TabControl.SelectedContentProperty],
- [!ContentPresenter.ContentTemplateProperty] = parent[!TabControl.SelectedContentTemplateProperty],
- }
- }
+ Children =
+ {
+ new ItemsPresenter
+ {
+ Name = "PART_ItemsPresenter",
+ [!TabStrip.ItemsProperty] = parent[!TabControl.ItemsProperty],
+ [!TabStrip.ItemTemplateProperty] = parent[!TabControl.ItemTemplateProperty],
+ },
+ new ContentPresenter
+ {
+ Name = "PART_SelectedContentHost",
+ [!ContentPresenter.ContentProperty] = parent[!TabControl.SelectedContentProperty],
+ [!ContentPresenter.ContentTemplateProperty] = parent[!TabControl.SelectedContentTemplateProperty],
+ }
+ }
});
}