diff --git a/src/Avalonia.Controls/ContentControl.cs b/src/Avalonia.Controls/ContentControl.cs index 0362f7ade4..867dca2be1 100644 --- a/src/Avalonia.Controls/ContentControl.cs +++ b/src/Avalonia.Controls/ContentControl.cs @@ -13,7 +13,7 @@ namespace Avalonia.Controls /// /// Displays according to an . /// - [TemplatePart("PART_ContentPresenter", typeof(IContentPresenter))] + [TemplatePart("PART_ContentPresenter", typeof(ContentPresenter))] public class ContentControl : TemplatedControl, IContentControl, IContentPresenterHost { /// @@ -68,7 +68,7 @@ namespace Avalonia.Controls /// /// Gets the presenter from the control's template. /// - public IContentPresenter? Presenter + public ContentPresenter? Presenter { get; private set; @@ -96,16 +96,16 @@ namespace Avalonia.Controls IAvaloniaList IContentPresenterHost.LogicalChildren => LogicalChildren; /// - bool IContentPresenterHost.RegisterContentPresenter(IContentPresenter presenter) + bool IContentPresenterHost.RegisterContentPresenter(ContentPresenter presenter) { return RegisterContentPresenter(presenter); } /// - /// Called when an is registered with the control. + /// Called when an is registered with the control. /// /// The presenter. - protected virtual bool RegisterContentPresenter(IContentPresenter presenter) + protected virtual bool RegisterContentPresenter(ContentPresenter presenter) { if (presenter.Name == "PART_ContentPresenter") { diff --git a/src/Avalonia.Controls/Presenters/ContentPresenter.cs b/src/Avalonia.Controls/Presenters/ContentPresenter.cs index 972fd2d4ff..7a81454bb0 100644 --- a/src/Avalonia.Controls/Presenters/ContentPresenter.cs +++ b/src/Avalonia.Controls/Presenters/ContentPresenter.cs @@ -17,7 +17,7 @@ namespace Avalonia.Controls.Presenters /// Presents a single item of data inside a template. /// [PseudoClasses(":empty")] - public class ContentPresenter : Control, IContentPresenter + public class ContentPresenter : Control { /// /// Defines the property. diff --git a/src/Avalonia.Controls/Presenters/IContentPresenter.cs b/src/Avalonia.Controls/Presenters/IContentPresenter.cs deleted file mode 100644 index 01aec3855f..0000000000 --- a/src/Avalonia.Controls/Presenters/IContentPresenter.cs +++ /dev/null @@ -1,23 +0,0 @@ -using Avalonia.Controls.Primitives; -using Avalonia.Metadata; - -namespace Avalonia.Controls.Presenters -{ - /// - /// Interface for controls that present a single item of data inside a - /// template. - /// - [NotClientImplementable] - public interface IContentPresenter : IPresenter - { - /// - /// Gets the control displayed by the presenter. - /// - Control? Child { get; } - - /// - /// Gets or sets the content to be displayed by the presenter. - /// - object? Content { get; set; } - } -} diff --git a/src/Avalonia.Controls/Presenters/IContentPresenterHost.cs b/src/Avalonia.Controls/Presenters/IContentPresenterHost.cs index dd1aafba65..6b1c733f37 100644 --- a/src/Avalonia.Controls/Presenters/IContentPresenterHost.cs +++ b/src/Avalonia.Controls/Presenters/IContentPresenterHost.cs @@ -22,13 +22,13 @@ namespace Avalonia.Controls.Presenters IAvaloniaList LogicalChildren { get; } /// - /// Registers an with a host control. + /// Registers an with a host control. /// /// The content presenter. /// /// True if the content presenter should add its child to the logical children of the /// host; otherwise false. /// - bool RegisterContentPresenter(IContentPresenter presenter); + bool RegisterContentPresenter(ContentPresenter presenter); } } diff --git a/src/Avalonia.Controls/Presenters/IPresenter.cs b/src/Avalonia.Controls/Presenters/IPresenter.cs deleted file mode 100644 index dc1d40cdcd..0000000000 --- a/src/Avalonia.Controls/Presenters/IPresenter.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Avalonia.Controls.Primitives; -using Avalonia.Metadata; - -namespace Avalonia.Controls.Presenters -{ - /// - /// Interface for presenters such as and - /// . - /// - /// - /// A presenter is the gateway between a templated control and its content. When - /// a control which implements is found in the template - /// of a then that signals that the visual child - /// of the presenter is not a part of the template. - /// - [NotClientImplementable] - public interface IPresenter : INamed - { - } -} diff --git a/src/Avalonia.Controls/Presenters/ScrollContentPresenter.cs b/src/Avalonia.Controls/Presenters/ScrollContentPresenter.cs index 3ee50ab547..1c9dd79b13 100644 --- a/src/Avalonia.Controls/Presenters/ScrollContentPresenter.cs +++ b/src/Avalonia.Controls/Presenters/ScrollContentPresenter.cs @@ -13,7 +13,7 @@ namespace Avalonia.Controls.Presenters /// /// Presents a scrolling view of content inside a . /// - public class ScrollContentPresenter : ContentPresenter, IPresenter, IScrollable, IScrollAnchorProvider + public class ScrollContentPresenter : ContentPresenter, IScrollable, IScrollAnchorProvider { private const double EdgeDetectionTolerance = 0.1; diff --git a/src/Avalonia.Controls/Primitives/HeaderedContentControl.cs b/src/Avalonia.Controls/Primitives/HeaderedContentControl.cs index d44ef5666c..d989550222 100644 --- a/src/Avalonia.Controls/Primitives/HeaderedContentControl.cs +++ b/src/Avalonia.Controls/Primitives/HeaderedContentControl.cs @@ -41,7 +41,7 @@ namespace Avalonia.Controls.Primitives /// /// Gets the header presenter from the control's template. /// - public IContentPresenter? HeaderPresenter + public ContentPresenter? HeaderPresenter { get; private set; @@ -57,7 +57,7 @@ namespace Avalonia.Controls.Primitives } /// - protected override bool RegisterContentPresenter(IContentPresenter presenter) + protected override bool RegisterContentPresenter(ContentPresenter presenter) { var result = base.RegisterContentPresenter(presenter); diff --git a/src/Avalonia.Controls/Primitives/HeaderedItemsControl.cs b/src/Avalonia.Controls/Primitives/HeaderedItemsControl.cs index d71439ece6..2236dc8fe4 100644 --- a/src/Avalonia.Controls/Primitives/HeaderedItemsControl.cs +++ b/src/Avalonia.Controls/Primitives/HeaderedItemsControl.cs @@ -56,7 +56,7 @@ namespace Avalonia.Controls.Primitives /// /// Gets the header presenter from the control's template. /// - public IContentPresenter? HeaderPresenter + public ContentPresenter? HeaderPresenter { get; private set; @@ -77,16 +77,16 @@ namespace Avalonia.Controls.Primitives } /// - bool IContentPresenterHost.RegisterContentPresenter(IContentPresenter presenter) + bool IContentPresenterHost.RegisterContentPresenter(ContentPresenter presenter) { return RegisterContentPresenter(presenter); } /// - /// Called when an is registered with the control. + /// Called when an is registered with the control. /// /// The presenter. - protected virtual bool RegisterContentPresenter(IContentPresenter presenter) + protected virtual bool RegisterContentPresenter(ContentPresenter presenter) { if (presenter.Name == "PART_HeaderPresenter") { diff --git a/src/Avalonia.Controls/Primitives/HeaderedSelectingItemsControl.cs b/src/Avalonia.Controls/Primitives/HeaderedSelectingItemsControl.cs index 88ca1f1fe1..c0075cb389 100644 --- a/src/Avalonia.Controls/Primitives/HeaderedSelectingItemsControl.cs +++ b/src/Avalonia.Controls/Primitives/HeaderedSelectingItemsControl.cs @@ -56,7 +56,7 @@ namespace Avalonia.Controls.Primitives /// /// Gets the header presenter from the control's template. /// - public IContentPresenter? HeaderPresenter + public ContentPresenter? HeaderPresenter { get; private set; @@ -66,7 +66,7 @@ namespace Avalonia.Controls.Primitives IAvaloniaList IContentPresenterHost.LogicalChildren => LogicalChildren; /// - bool IContentPresenterHost.RegisterContentPresenter(IContentPresenter presenter) + bool IContentPresenterHost.RegisterContentPresenter(ContentPresenter presenter) { return RegisterContentPresenter(presenter); } @@ -83,10 +83,10 @@ namespace Avalonia.Controls.Primitives } /// - /// Called when an is registered with the control. + /// Called when an is registered with the control. /// /// The presenter. - protected virtual bool RegisterContentPresenter(IContentPresenter presenter) + protected virtual bool RegisterContentPresenter(ContentPresenter presenter) { if (presenter.Name == "PART_HeaderPresenter") { diff --git a/src/Avalonia.Controls/Primitives/IPopupHost.cs b/src/Avalonia.Controls/Primitives/IPopupHost.cs index 90fbdcdbec..0aad838b0f 100644 --- a/src/Avalonia.Controls/Primitives/IPopupHost.cs +++ b/src/Avalonia.Controls/Primitives/IPopupHost.cs @@ -52,7 +52,7 @@ namespace Avalonia.Controls.Primitives /// /// Gets the presenter from the control's template. /// - IContentPresenter? Presenter { get; } + ContentPresenter? Presenter { get; } /// /// Gets or sets whether the popup appears on top of all other windows. diff --git a/src/Avalonia.Controls/ScrollViewer.cs b/src/Avalonia.Controls/ScrollViewer.cs index 1b9cb7de34..31c4a7e399 100644 --- a/src/Avalonia.Controls/ScrollViewer.cs +++ b/src/Avalonia.Controls/ScrollViewer.cs @@ -644,7 +644,7 @@ namespace Avalonia.Controls (Presenter as IScrollAnchorProvider)?.UnregisterAnchorCandidate(element); } - protected override bool RegisterContentPresenter(IContentPresenter presenter) + protected override bool RegisterContentPresenter(ContentPresenter presenter) { _childSubscription?.Dispose(); _childSubscription = null; diff --git a/src/Avalonia.Controls/SplitView/SplitView.cs b/src/Avalonia.Controls/SplitView/SplitView.cs index b943a01a4b..fed0367d12 100644 --- a/src/Avalonia.Controls/SplitView/SplitView.cs +++ b/src/Avalonia.Controls/SplitView/SplitView.cs @@ -279,7 +279,7 @@ namespace Avalonia.Controls remove => RemoveHandler(PaneOpeningEvent, value); } - protected override bool RegisterContentPresenter(IContentPresenter presenter) + protected override bool RegisterContentPresenter(ContentPresenter presenter) { var result = base.RegisterContentPresenter(presenter); diff --git a/src/Avalonia.Controls/TabControl.cs b/src/Avalonia.Controls/TabControl.cs index 5409663621..2b3a00cf3e 100644 --- a/src/Avalonia.Controls/TabControl.cs +++ b/src/Avalonia.Controls/TabControl.cs @@ -140,13 +140,13 @@ namespace Avalonia.Controls internal ItemsPresenter? ItemsPresenterPart { get; private set; } - internal IContentPresenter? ContentPart { get; private set; } + internal ContentPresenter? ContentPart { get; private set; } /// IAvaloniaList IContentPresenterHost.LogicalChildren => LogicalChildren; /// - bool IContentPresenterHost.RegisterContentPresenter(IContentPresenter presenter) + bool IContentPresenterHost.RegisterContentPresenter(ContentPresenter presenter) { return RegisterContentPresenter(presenter); } @@ -210,10 +210,10 @@ namespace Avalonia.Controls } /// - /// Called when an is registered with the control. + /// Called when an is registered with the control. /// /// The presenter. - protected virtual bool RegisterContentPresenter(IContentPresenter presenter) + protected virtual bool RegisterContentPresenter(ContentPresenter presenter) { if (presenter.Name == "PART_SelectedContentHost") { diff --git a/src/Avalonia.Controls/ToggleSwitch.cs b/src/Avalonia.Controls/ToggleSwitch.cs index 29e1b90ca0..a68a022e67 100644 --- a/src/Avalonia.Controls/ToggleSwitch.cs +++ b/src/Avalonia.Controls/ToggleSwitch.cs @@ -86,13 +86,13 @@ namespace Avalonia.Controls set { SetValue(OffContentProperty, value); } } - public IContentPresenter? OffContentPresenter + public ContentPresenter? OffContentPresenter { get; private set; } - public IContentPresenter? OnContentPresenter + public ContentPresenter? OnContentPresenter { get; private set; @@ -142,7 +142,7 @@ namespace Avalonia.Controls } } - protected override bool RegisterContentPresenter(IContentPresenter presenter) + protected override bool RegisterContentPresenter(ContentPresenter presenter) { var result = base.RegisterContentPresenter(presenter); diff --git a/src/Avalonia.Controls/TransitioningContentControl.cs b/src/Avalonia.Controls/TransitioningContentControl.cs index edc1b10d93..21b9c9b765 100644 --- a/src/Avalonia.Controls/TransitioningContentControl.cs +++ b/src/Avalonia.Controls/TransitioningContentControl.cs @@ -71,7 +71,7 @@ public class TransitioningContentControl : ContentControl return result; } - protected override bool RegisterContentPresenter(IContentPresenter presenter) + protected override bool RegisterContentPresenter(ContentPresenter presenter) { if (!base.RegisterContentPresenter(presenter) && presenter is ContentPresenter p && diff --git a/tests/Avalonia.Controls.UnitTests/ContentControlTests.cs b/tests/Avalonia.Controls.UnitTests/ContentControlTests.cs index d5e4693666..02b6592097 100644 --- a/tests/Avalonia.Controls.UnitTests/ContentControlTests.cs +++ b/tests/Avalonia.Controls.UnitTests/ContentControlTests.cs @@ -24,9 +24,9 @@ namespace Avalonia.Controls.UnitTests target.Content = "Foo"; target.Template = GetTemplate(); target.ApplyTemplate(); - ((ContentPresenter)target.Presenter).UpdateChild(); + target.Presenter.UpdateChild(); - var child = ((Visual)target).VisualChildren.Single(); + var child = target.VisualChildren.Single(); Assert.IsType(child); child = child.VisualChildren.Single(); Assert.IsType(child); @@ -55,7 +55,7 @@ namespace Avalonia.Controls.UnitTests root.Child = target; target.ApplyTemplate(); - ((Control)target.Presenter).ApplyTemplate(); + target.Presenter.ApplyTemplate(); foreach (Control child in target.GetTemplateChildren()) Assert.Equal("foo", child.Tag); @@ -70,7 +70,7 @@ namespace Avalonia.Controls.UnitTests target.Template = GetTemplate(); target.Content = child; target.ApplyTemplate(); - ((ContentPresenter)target.Presenter).UpdateChild(); + target.Presenter.UpdateChild(); var contentPresenter = child.GetVisualParent(); Assert.Equal(target, contentPresenter.TemplatedParent); @@ -85,7 +85,7 @@ namespace Avalonia.Controls.UnitTests target.Template = GetTemplate(); target.Content = child; target.ApplyTemplate(); - ((ContentPresenter)target.Presenter).UpdateChild(); + target.Presenter.UpdateChild(); Assert.Null(child.TemplatedParent); } @@ -117,7 +117,7 @@ namespace Avalonia.Controls.UnitTests var child = new Control(); target.Content = child; target.ApplyTemplate(); - ((ContentPresenter)target.Presenter).UpdateChild(); + target.Presenter.UpdateChild(); Assert.Equal(child.Parent, target); Assert.Equal(child.GetLogicalParent(), target); @@ -135,7 +135,7 @@ namespace Avalonia.Controls.UnitTests target.Content = "Foo"; target.ApplyTemplate(); - ((ContentPresenter)target.Presenter).UpdateChild(); + target.Presenter.UpdateChild(); var child = target.Presenter.Child; @@ -152,7 +152,7 @@ namespace Avalonia.Controls.UnitTests target.Content = "Foo"; target.ApplyTemplate(); - ((ContentPresenter)target.Presenter).UpdateChild(); + target.Presenter.UpdateChild(); var child = target.Presenter.Child; @@ -192,7 +192,7 @@ namespace Avalonia.Controls.UnitTests target.Template = GetTemplate(); target.Content = child; target.ApplyTemplate(); - ((ContentPresenter)target.Presenter).UpdateChild(); + target.Presenter.UpdateChild(); Assert.True(called); } @@ -207,12 +207,12 @@ namespace Avalonia.Controls.UnitTests target.Template = GetTemplate(); target.Content = child; target.ApplyTemplate(); - ((ContentPresenter)target.Presenter).UpdateChild(); + target.Presenter.UpdateChild(); ((ILogical)target).LogicalChildren.CollectionChanged += (s, e) => called = true; target.Content = null; - ((ContentPresenter)target.Presenter).UpdateChild(); + target.Presenter.UpdateChild(); Assert.True(called); } @@ -228,12 +228,12 @@ namespace Avalonia.Controls.UnitTests target.Template = GetTemplate(); target.Content = child1; target.ApplyTemplate(); - ((ContentPresenter)target.Presenter).UpdateChild(); + target.Presenter.UpdateChild(); ((ILogical)target).LogicalChildren.CollectionChanged += (s, e) => called = true; target.Content = child2; - ((Control)target.Presenter).ApplyTemplate(); + target.Presenter.ApplyTemplate(); Assert.True(called); } @@ -245,13 +245,13 @@ namespace Avalonia.Controls.UnitTests target.Template = GetTemplate(); target.ApplyTemplate(); - ((ContentPresenter)target.Presenter).UpdateChild(); + target.Presenter.UpdateChild(); target.Content = "Foo"; - ((ContentPresenter)target.Presenter).UpdateChild(); + target.Presenter.UpdateChild(); Assert.Equal("Foo", ((TextBlock)target.Presenter.Child).Text); target.Content = "Bar"; - ((ContentPresenter)target.Presenter).UpdateChild(); + target.Presenter.UpdateChild(); Assert.Equal("Bar", ((TextBlock)target.Presenter.Child).Text); } @@ -263,7 +263,7 @@ namespace Avalonia.Controls.UnitTests target.Template = GetTemplate(); target.Content = "Foo"; target.ApplyTemplate(); - ((ContentPresenter)target.Presenter).UpdateChild(); + target.Presenter.UpdateChild(); Assert.Equal("Foo", target.Presenter.Child.DataContext); } @@ -276,7 +276,7 @@ namespace Avalonia.Controls.UnitTests target.Template = GetTemplate(); target.Content = new TextBlock(); target.ApplyTemplate(); - ((ContentPresenter)target.Presenter).UpdateChild(); + target.Presenter.UpdateChild(); Assert.Null(target.Presenter.Child.DataContext); } diff --git a/tests/Avalonia.Controls.UnitTests/HeaderedItemsControlTests .cs b/tests/Avalonia.Controls.UnitTests/HeaderedItemsControlTests .cs index 2cf4148fe3..78012a4d25 100644 --- a/tests/Avalonia.Controls.UnitTests/HeaderedItemsControlTests .cs +++ b/tests/Avalonia.Controls.UnitTests/HeaderedItemsControlTests .cs @@ -34,7 +34,7 @@ namespace Avalonia.Controls.UnitTests target.Header = "Foo"; target.ApplyTemplate(); - ((ContentPresenter)target.HeaderPresenter).UpdateChild(); + target.HeaderPresenter.UpdateChild(); var child = target.HeaderPresenter.Child; diff --git a/tests/Avalonia.Controls.UnitTests/ListBoxTests_Single.cs b/tests/Avalonia.Controls.UnitTests/ListBoxTests_Single.cs index ca7cc044ad..92ea2df2a9 100644 --- a/tests/Avalonia.Controls.UnitTests/ListBoxTests_Single.cs +++ b/tests/Avalonia.Controls.UnitTests/ListBoxTests_Single.cs @@ -305,7 +305,7 @@ namespace Avalonia.Controls.UnitTests scrollViewer.ApplyTemplate(); // Then make the ScrollViewer create its child. - ((ContentPresenter)scrollViewer.Presenter).UpdateChild(); + scrollViewer.Presenter.UpdateChild(); // Now the ItemsPresenter should be reigstered, so apply its template. target.Presenter.ApplyTemplate(); diff --git a/tests/Avalonia.Controls.UnitTests/Presenters/ContentPresenterTests_InTemplate.cs b/tests/Avalonia.Controls.UnitTests/Presenters/ContentPresenterTests_InTemplate.cs index 9042e84fa1..34a2776bcd 100644 --- a/tests/Avalonia.Controls.UnitTests/Presenters/ContentPresenterTests_InTemplate.cs +++ b/tests/Avalonia.Controls.UnitTests/Presenters/ContentPresenterTests_InTemplate.cs @@ -391,7 +391,7 @@ namespace Avalonia.Controls.UnitTests.Presenters templatedParent.ApplyTemplate(); - return ((ContentPresenter)templatedParent.Presenter, templatedParent); + return (templatedParent.Presenter, templatedParent); } private class TestContentControl : ContentControl, IContentPresenterHost diff --git a/tests/Avalonia.Controls.UnitTests/TabControlTests.cs b/tests/Avalonia.Controls.UnitTests/TabControlTests.cs index 37c4c9f37a..7721018453 100644 --- a/tests/Avalonia.Controls.UnitTests/TabControlTests.cs +++ b/tests/Avalonia.Controls.UnitTests/TabControlTests.cs @@ -272,28 +272,28 @@ namespace Avalonia.Controls.UnitTests ApplyTemplate(target); - ((ContentPresenter)target.ContentPart).UpdateChild(); + target.ContentPart.UpdateChild(); var dataContext = ((TextBlock)target.ContentPart.Child).DataContext; Assert.Equal(items[0], dataContext); target.SelectedIndex = 1; - ((ContentPresenter)target.ContentPart).UpdateChild(); + target.ContentPart.UpdateChild(); dataContext = ((Button)target.ContentPart.Child).DataContext; Assert.Equal(items[1], dataContext); target.SelectedIndex = 2; - ((ContentPresenter)target.ContentPart).UpdateChild(); + target.ContentPart.UpdateChild(); dataContext = ((TextBlock)target.ContentPart.Child).DataContext; Assert.Equal("Base", dataContext); target.SelectedIndex = 3; - ((ContentPresenter)target.ContentPart).UpdateChild(); + target.ContentPart.UpdateChild(); dataContext = ((TextBlock)target.ContentPart.Child).DataContext; Assert.Equal("Qux", dataContext); target.SelectedIndex = 4; - ((ContentPresenter)target.ContentPart).UpdateChild(); - dataContext = ((Control)target.ContentPart).DataContext; + target.ContentPart.UpdateChild(); + dataContext = target.ContentPart.DataContext; Assert.Equal("Base", dataContext); } @@ -367,7 +367,7 @@ namespace Avalonia.Controls.UnitTests var root = new TestRoot(target); ApplyTemplate(target); - ((ContentPresenter)target.ContentPart).UpdateChild(); + target.ContentPart.UpdateChild(); var content = Assert.IsType(target.ContentPart.Child); Assert.Equal("bar", content.Tag); @@ -608,7 +608,7 @@ namespace Avalonia.Controls.UnitTests tabItem.ApplyTemplate(); - ((ContentPresenter)tabItem.Presenter).UpdateChild(); + tabItem.Presenter.UpdateChild(); } target.ContentPart.ApplyTemplate(); diff --git a/tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/CompiledBindingExtensionTests.cs b/tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/CompiledBindingExtensionTests.cs index 7ed43efd94..9d82674fb6 100644 --- a/tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/CompiledBindingExtensionTests.cs +++ b/tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/CompiledBindingExtensionTests.cs @@ -472,7 +472,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.MarkupExtensions window.ApplyTemplate(); target.ApplyTemplate(); - ((ContentPresenter)target.Presenter).UpdateChild(); + target.Presenter.UpdateChild(); Assert.Equal(dataContext.StringProperty, ((TextBlock)target.Presenter.Child).Text); } @@ -694,7 +694,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.MarkupExtensions window.ApplyTemplate(); target.ApplyTemplate(); - ((ContentPresenter)target.Presenter).UpdateChild(); + target.Presenter.UpdateChild(); Assert.Equal(dataContext.StringProperty, ((TextBlock)target.Presenter.Child).Text); } @@ -727,7 +727,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.MarkupExtensions window.ApplyTemplate(); target.ApplyTemplate(); - ((ContentPresenter)target.Presenter).UpdateChild(); + target.Presenter.UpdateChild(); Assert.Equal(dataContext.StringProperty, ((TextBlock)target.Presenter.Child).Text); } @@ -760,7 +760,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.MarkupExtensions window.ApplyTemplate(); target.ApplyTemplate(); - ((ContentPresenter)target.Presenter).UpdateChild(); + target.Presenter.UpdateChild(); Assert.Equal(dataContext.StringProperty, ((TextBlock)target.Presenter.Child).Text); } diff --git a/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/ControlTemplateTests.cs b/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/ControlTemplateTests.cs index 4404564733..ea2407e18d 100644 --- a/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/ControlTemplateTests.cs +++ b/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/ControlTemplateTests.cs @@ -74,7 +74,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml window.ApplyTemplate(); button.ApplyTemplate(); - var presenter = (ContentPresenter)button.Presenter; + var presenter = button.Presenter; Assert.Equal(Brushes.Red, presenter.Background); var diagnostic = presenter.GetDiagnostic(Button.BackgroundProperty); @@ -108,7 +108,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml window.ApplyTemplate(); button.ApplyTemplate(); - var presenter = (ContentPresenter)button.Presenter; + var presenter = button.Presenter; Assert.Equal(Brushes.Red, presenter.Background); var diagnostic = presenter.GetDiagnostic(Button.BackgroundProperty); @@ -139,7 +139,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml window.ApplyTemplate(); button.ApplyTemplate(); - var presenter = (ContentPresenter)button.Presenter; + var presenter = button.Presenter; Assert.Equal(Dock.Top, DockPanel.GetDock(presenter)); var diagnostic = presenter.GetDiagnostic(DockPanel.DockProperty); @@ -173,7 +173,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml window.ApplyTemplate(); button.ApplyTemplate(); - var presenter = (ContentPresenter)button.Presenter; + var presenter = button.Presenter; Assert.Equal(Brushes.Red, presenter.Background); var diagnostic = presenter.GetDiagnostic(Button.BackgroundProperty); @@ -207,7 +207,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml window.ApplyTemplate(); button.ApplyTemplate(); - var presenter = (ContentPresenter)button.Presenter; + var presenter = button.Presenter; Assert.Equal(Brushes.Red, presenter.Background); var diagnostic = presenter.GetDiagnostic(Button.BackgroundProperty); @@ -238,7 +238,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml window.ApplyTemplate(); button.ApplyTemplate(); - var presenter = (ContentPresenter)button.Presenter; + var presenter = button.Presenter; Assert.Equal("Foo", presenter.Content); var diagnostic = presenter.GetDiagnostic(ContentPresenter.ContentProperty); diff --git a/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/DataTemplateTests.cs b/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/DataTemplateTests.cs index 05e81dc0ba..89416ad674 100644 --- a/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/DataTemplateTests.cs +++ b/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/DataTemplateTests.cs @@ -32,7 +32,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml window.ApplyTemplate(); target.ApplyTemplate(); - ((ContentPresenter)target.Presenter).UpdateChild(); + target.Presenter.UpdateChild(); Assert.Null(target.Presenter.Child); } @@ -59,7 +59,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml window.ApplyTemplate(); target.ApplyTemplate(); - ((ContentPresenter)target.Presenter).UpdateChild(); + target.Presenter.UpdateChild(); Assert.IsType(target.Presenter.Child); } @@ -117,7 +117,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml window.ApplyTemplate(); target.ApplyTemplate(); - ((ContentPresenter)target.Presenter).UpdateChild(); + target.Presenter.UpdateChild(); Assert.Equal(typeof(string), template.DataType); Assert.IsType(target.Presenter.Child); @@ -145,7 +145,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml window.ApplyTemplate(); target.ApplyTemplate(); - ((ContentPresenter)target.Presenter).UpdateChild(); + target.Presenter.UpdateChild(); Assert.IsType(target.Presenter.Child); } @@ -175,7 +175,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml window.ApplyTemplate(); target.ApplyTemplate(); - ((ContentPresenter)target.Presenter).UpdateChild(); + target.Presenter.UpdateChild(); var dataTemplate = (CustomDataTemplate)target.ContentTemplate; Assert.Null(dataTemplate.FancyDataType); @@ -217,11 +217,11 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml window.ApplyTemplate(); target.ApplyTemplate(); - ((ContentPresenter)target.Presenter).UpdateChild(); + target.Presenter.UpdateChild(); var canvas = (Canvas)target.Presenter.Child; Assert.Same(viewModel, target.DataContext); - Assert.Same(viewModel.Child, ((Control)target.Presenter).DataContext); + Assert.Same(viewModel.Child, target.Presenter.DataContext); Assert.Same(viewModel.Child.Child, canvas.DataContext); } } diff --git a/tests/Avalonia.ReactiveUI.UnitTests/TransitioningContentControlTest.cs b/tests/Avalonia.ReactiveUI.UnitTests/TransitioningContentControlTest.cs index e1ab54f775..ed96c4ef6e 100644 --- a/tests/Avalonia.ReactiveUI.UnitTests/TransitioningContentControlTest.cs +++ b/tests/Avalonia.ReactiveUI.UnitTests/TransitioningContentControlTest.cs @@ -22,7 +22,7 @@ namespace Avalonia.ReactiveUI.UnitTests Content = "Foo" }; target.ApplyTemplate(); - ((ContentPresenter)target.Presenter).UpdateChild(); + target.Presenter.UpdateChild(); var child = ((Visual)target).GetVisualChildren().Single(); Assert.IsType(child); diff --git a/tests/Avalonia.UnitTests/TestExtensions.cs b/tests/Avalonia.UnitTests/TestExtensions.cs deleted file mode 100644 index 21a67a8800..0000000000 --- a/tests/Avalonia.UnitTests/TestExtensions.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; -using Avalonia.Controls.Presenters; -using Avalonia.Controls.Primitives; -using Avalonia.Layout; -using Avalonia.Styling; - -namespace Avalonia.UnitTests -{ - public static class TestExtensions - { - public static void ApplyTemplate(this IContentPresenter presenter) => ((Layoutable)presenter).ApplyTemplate(); - } -}