diff --git a/src/Avalonia.Base/Media/DashStyle.cs b/src/Avalonia.Base/Media/DashStyle.cs index abee580020..3a30b2d32f 100644 --- a/src/Avalonia.Base/Media/DashStyle.cs +++ b/src/Avalonia.Base/Media/DashStyle.cs @@ -35,7 +35,6 @@ namespace Avalonia.Media /// Initializes a new instance of the class. /// public DashStyle() - : this(null, 0) { } diff --git a/tests/Avalonia.Base.UnitTests/Media/PenTests.cs b/tests/Avalonia.Base.UnitTests/Media/PenTests.cs index fecdd30834..6016978fde 100644 --- a/tests/Avalonia.Base.UnitTests/Media/PenTests.cs +++ b/tests/Avalonia.Base.UnitTests/Media/PenTests.cs @@ -53,7 +53,10 @@ namespace Avalonia.Base.UnitTests.Media var raised = false; target.Invalidated += (s, e) => raised = true; - dashes.Dashes.Add(0.3); + dashes.Dashes = new AvaloniaList + { + 0.3 + }; Assert.True(raised); } diff --git a/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/ControlTemplateTests.cs b/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/ControlTemplateTests.cs index 2d6ed1dc62..203ec5ee3b 100644 --- a/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/ControlTemplateTests.cs +++ b/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/ControlTemplateTests.cs @@ -1,3 +1,5 @@ +using System; +using System.Linq; using Avalonia.Controls; using Avalonia.Controls.Presenters; using Avalonia.Data; @@ -5,12 +7,49 @@ using Avalonia.Diagnostics; using Avalonia.Markup.Xaml.Templates; using Avalonia.Media; using Avalonia.UnitTests; +using Avalonia.VisualTree; using Xunit; namespace Avalonia.Markup.Xaml.UnitTests.Xaml { public class ControlTemplateTests : XamlTestBase { + [Fact] + public void StyledProperties_Should_Be_Set_In_The_ControlTemplate() + { + using (UnitTestApplication.Start(TestServices.StyledWindow)) + { + + var xaml = @" + + +"; + var window = (Window)AvaloniaRuntimeXamlLoader.Load(xaml); + var button = (Button)window.Content; + + window.ApplyTemplate(); + button.ApplyTemplate(); + var listBoxHierarchyLine = button.GetVisualChildren().ElementAt(0) as ListBoxHierachyLine; + Assert.Equal(1, listBoxHierarchyLine.LineDashStyle.Offset); + Assert.Equal(2, listBoxHierarchyLine.LineDashStyle.Dashes.Count); + Assert.Equal(2, listBoxHierarchyLine.LineDashStyle.Dashes[0]); + Assert.Equal(2, listBoxHierarchyLine.LineDashStyle.Dashes[1]); + } + + } + [Fact] public void Inline_ControlTemplate_Styled_Values_Are_Set_With_Style_Priority() { @@ -270,4 +309,15 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml Assert.Equal("Bar", bar.Name); } } + public class ListBoxHierachyLine : Panel + { + public static readonly StyledProperty LineDashStyleProperty = + AvaloniaProperty.Register(nameof(LineDashStyle)); + + public DashStyle LineDashStyle + { + get => GetValue(LineDashStyleProperty); + set => SetValue(LineDashStyleProperty, value); + } + } }