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);
+ }
+ }
}