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