From 22c0005036483fbcb9ec12baaa83d346a1fb6a7a Mon Sep 17 00:00:00 2001 From: Miticcio Date: Mon, 8 Jan 2024 17:24:38 +0100 Subject: [PATCH] added PathIcon --- src/Avalonia.FuncUI/Avalonia.FuncUI.fsproj | 1 + src/Avalonia.FuncUI/DSL/PathIcon.fs | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 src/Avalonia.FuncUI/DSL/PathIcon.fs 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