diff --git a/src/Avalonia.FuncUI/Avalonia.FuncUI.fsproj b/src/Avalonia.FuncUI/Avalonia.FuncUI.fsproj
index b53a4370..64cdb065 100644
--- a/src/Avalonia.FuncUI/Avalonia.FuncUI.fsproj
+++ b/src/Avalonia.FuncUI/Avalonia.FuncUI.fsproj
@@ -155,6 +155,7 @@
+
diff --git a/src/Avalonia.FuncUI/DSL/PathIcon.fs b/src/Avalonia.FuncUI/DSL/PathIcon.fs
new file mode 100644
index 00000000..cb32cecd
--- /dev/null
+++ b/src/Avalonia.FuncUI/DSL/PathIcon.fs
@@ -0,0 +1,19 @@
+namespace Avalonia.FuncUI.DSL
+
+[]
+module PathIcon =
+ open Avalonia.Media
+ open Avalonia.FuncUI.Builder
+ open Avalonia.FuncUI.Types
+ open Avalonia.Controls
+
+ let create (attrs: IAttr list): IView =
+ ViewBuilder.Create(attrs)
+
+ type PathIcon with
+
+ static member data<'t when 't :> PathIcon>(geometry: Geometry) : IAttr<'t> =
+ AttrBuilder<'t>.CreateProperty(PathIcon.DataProperty, geometry, ValueNone)
+
+ static member data<'t when 't :> PathIcon>(data: string) : IAttr<'t> =
+ data |> Geometry.Parse |> PathIcon.data
\ No newline at end of file