|
|
|
@ -271,41 +271,6 @@ namespace Avalonia.Controls.UnitTests.Primitives |
|
|
|
Assert.Equal(target, textBlock.TemplatedParent); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void Nested_TemplatedControls_Should_Register_With_Correct_NameScope() |
|
|
|
{ |
|
|
|
var target = new ContentControl |
|
|
|
{ |
|
|
|
Template = new FuncControlTemplate<ContentControl>(ScrollingContentControlTemplate), |
|
|
|
Content = "foo" |
|
|
|
}; |
|
|
|
|
|
|
|
var root = new TestRoot { Child = target }; |
|
|
|
target.ApplyTemplate(); |
|
|
|
|
|
|
|
var border = target.GetVisualChildren().FirstOrDefault(); |
|
|
|
Assert.IsType<Border>(border); |
|
|
|
|
|
|
|
var scrollViewer = border.GetVisualChildren().FirstOrDefault(); |
|
|
|
Assert.IsType<ScrollViewer>(scrollViewer); |
|
|
|
((ScrollViewer)scrollViewer).ApplyTemplate(); |
|
|
|
|
|
|
|
var scrollContentPresenter = scrollViewer.GetVisualChildren().FirstOrDefault(); |
|
|
|
Assert.IsType<ScrollContentPresenter>(scrollContentPresenter); |
|
|
|
((ContentPresenter)scrollContentPresenter).UpdateChild(); |
|
|
|
|
|
|
|
var contentPresenter = scrollContentPresenter.GetVisualChildren().FirstOrDefault(); |
|
|
|
Assert.IsType<ContentPresenter>(contentPresenter); |
|
|
|
|
|
|
|
var borderNs = NameScope.GetNameScope((Control)border); |
|
|
|
var scrollContentPresenterNs = NameScope.GetNameScope((Control)scrollContentPresenter); |
|
|
|
|
|
|
|
Assert.NotNull(borderNs); |
|
|
|
Assert.Same(scrollViewer, borderNs.Find("ScrollViewer")); |
|
|
|
Assert.Same(contentPresenter, borderNs.Find("PART_ContentPresenter")); |
|
|
|
Assert.Same(scrollContentPresenter, scrollContentPresenterNs.Find("PART_ContentPresenter")); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void ApplyTemplate_Should_Raise_TemplateApplied() |
|
|
|
{ |
|
|
|
@ -587,7 +552,7 @@ namespace Avalonia.Controls.UnitTests.Primitives |
|
|
|
[!ContentPresenter.ContentProperty] = control[!ContentControl.ContentProperty], |
|
|
|
}.RegisterInNameScope(scope) |
|
|
|
}.RegisterInNameScope(scope) |
|
|
|
}.WithNameScope(scope); |
|
|
|
}; |
|
|
|
} |
|
|
|
|
|
|
|
private static Control ScrollViewerTemplate(ScrollViewer control, INameScope scope) |
|
|
|
@ -596,7 +561,7 @@ namespace Avalonia.Controls.UnitTests.Primitives |
|
|
|
{ |
|
|
|
Name = "PART_ContentPresenter", |
|
|
|
[~ContentPresenter.ContentProperty] = control[~ContentControl.ContentProperty], |
|
|
|
}.RegisterInNameScope(scope).WithNameScope(scope); |
|
|
|
}.RegisterInNameScope(scope); |
|
|
|
|
|
|
|
return result; |
|
|
|
} |
|
|
|
|