diff --git a/src/Blazor.Diagrams.Core/Models/LinkModel.cs b/src/Blazor.Diagrams.Core/Models/LinkModel.cs
index 0fad9b04..ad45459f 100644
--- a/src/Blazor.Diagrams.Core/Models/LinkModel.cs
+++ b/src/Blazor.Diagrams.Core/Models/LinkModel.cs
@@ -23,5 +23,11 @@ public LinkModel(string id, NodeModel sourceNode, NodeModel targetNode)
public string? Color { get; set; }
public string? SelectedColor { get; set; }
+
+ ///
+ /// Set a value equal to values accepted by SVG's 'stroke-dasharray' attribute.
+ /// For example '5,5' will result in patter where the line is drawn for 5px and not drawn for another 5px.
+ ///
+ public string? DashPattern { get; set; }
public double Width { get; set; } = 2;
}
diff --git a/src/Blazor.Diagrams/Components/LinkWidget.razor b/src/Blazor.Diagrams/Components/LinkWidget.razor
index 4a1229e1..4e5650ee 100644
--- a/src/Blazor.Diagrams/Components/LinkWidget.razor
+++ b/src/Blazor.Diagrams/Components/LinkWidget.razor
@@ -10,10 +10,17 @@
var d = result.FullPath.ToString();
}
+@{
+ var extraPathAttributes = new Dictionary();
+ if (!string.IsNullOrEmpty(Link.DashPattern))
+ extraPathAttributes["stroke-dasharray"] = Link.DashPattern;
+}
+
+ stroke="@color"
+ @attributes="extraPathAttributes"/>
@if (dnlb?.OngoingLink == null || dnlb.OngoingLink != Link)
{