From 40b753062aa1df0e24c733ba9d106d6955a40be3 Mon Sep 17 00:00:00 2001 From: Pilzinsel64 Date: Tue, 11 Nov 2025 09:37:37 +0100 Subject: [PATCH] fixes & testapp --- Pilz.UI.AvaloniaUI.TestApp/App.axaml | 10 +++++++ Pilz.UI.AvaloniaUI.TestApp/App.axaml.cs | 23 ++++++++++++++++ Pilz.UI.AvaloniaUI.TestApp/MainWindow.axaml | 14 ++++++++++ .../MainWindow.axaml.cs | 11 ++++++++ .../Pilz.UI.AvaloniaUI.TestApp.csproj | 26 +++++++++++++++++++ Pilz.UI.AvaloniaUI.TestApp/Program.cs | 21 +++++++++++++++ Pilz.UI.AvaloniaUI.TestApp/app.manifest | 18 +++++++++++++ Pilz.UI.AvaloniaUI/Controls/ImageButton.axaml | 2 ++ .../Controls/ImageSplitButton.axaml | 2 ++ Pilz.UI.AvaloniaUI/Pilz.UI.AvaloniaUI.csproj | 2 +- Pilz.sln | 10 +++++++ 11 files changed, 138 insertions(+), 1 deletion(-) create mode 100644 Pilz.UI.AvaloniaUI.TestApp/App.axaml create mode 100644 Pilz.UI.AvaloniaUI.TestApp/App.axaml.cs create mode 100644 Pilz.UI.AvaloniaUI.TestApp/MainWindow.axaml create mode 100644 Pilz.UI.AvaloniaUI.TestApp/MainWindow.axaml.cs create mode 100644 Pilz.UI.AvaloniaUI.TestApp/Pilz.UI.AvaloniaUI.TestApp.csproj create mode 100644 Pilz.UI.AvaloniaUI.TestApp/Program.cs create mode 100644 Pilz.UI.AvaloniaUI.TestApp/app.manifest diff --git a/Pilz.UI.AvaloniaUI.TestApp/App.axaml b/Pilz.UI.AvaloniaUI.TestApp/App.axaml new file mode 100644 index 0000000..e22d8ee --- /dev/null +++ b/Pilz.UI.AvaloniaUI.TestApp/App.axaml @@ -0,0 +1,10 @@ + + + + + + + \ No newline at end of file diff --git a/Pilz.UI.AvaloniaUI.TestApp/App.axaml.cs b/Pilz.UI.AvaloniaUI.TestApp/App.axaml.cs new file mode 100644 index 0000000..fe850b5 --- /dev/null +++ b/Pilz.UI.AvaloniaUI.TestApp/App.axaml.cs @@ -0,0 +1,23 @@ +using Avalonia; +using Avalonia.Controls.ApplicationLifetimes; +using Avalonia.Markup.Xaml; + +namespace Pilz.UI.AvaloniaUI.TestApp; + +public partial class App : Application +{ + public override void Initialize() + { + AvaloniaXamlLoader.Load(this); + } + + public override void OnFrameworkInitializationCompleted() + { + if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop) + { + desktop.MainWindow = new MainWindow(); + } + + base.OnFrameworkInitializationCompleted(); + } +} \ No newline at end of file diff --git a/Pilz.UI.AvaloniaUI.TestApp/MainWindow.axaml b/Pilz.UI.AvaloniaUI.TestApp/MainWindow.axaml new file mode 100644 index 0000000..c6e27a4 --- /dev/null +++ b/Pilz.UI.AvaloniaUI.TestApp/MainWindow.axaml @@ -0,0 +1,14 @@ + + + + + + + diff --git a/Pilz.UI.AvaloniaUI.TestApp/MainWindow.axaml.cs b/Pilz.UI.AvaloniaUI.TestApp/MainWindow.axaml.cs new file mode 100644 index 0000000..9a6496d --- /dev/null +++ b/Pilz.UI.AvaloniaUI.TestApp/MainWindow.axaml.cs @@ -0,0 +1,11 @@ +using Avalonia.Controls; + +namespace Pilz.UI.AvaloniaUI.TestApp; + +public partial class MainWindow : Window +{ + public MainWindow() + { + InitializeComponent(); + } +} \ No newline at end of file diff --git a/Pilz.UI.AvaloniaUI.TestApp/Pilz.UI.AvaloniaUI.TestApp.csproj b/Pilz.UI.AvaloniaUI.TestApp/Pilz.UI.AvaloniaUI.TestApp.csproj new file mode 100644 index 0000000..36864fe --- /dev/null +++ b/Pilz.UI.AvaloniaUI.TestApp/Pilz.UI.AvaloniaUI.TestApp.csproj @@ -0,0 +1,26 @@ + + + WinExe + net8.0 + enable + true + app.manifest + true + + + + + + + + + + None + All + + + + + + + diff --git a/Pilz.UI.AvaloniaUI.TestApp/Program.cs b/Pilz.UI.AvaloniaUI.TestApp/Program.cs new file mode 100644 index 0000000..8a166be --- /dev/null +++ b/Pilz.UI.AvaloniaUI.TestApp/Program.cs @@ -0,0 +1,21 @@ +using Avalonia; +using System; + +namespace Pilz.UI.AvaloniaUI.TestApp; + +class Program +{ + // Initialization code. Don't use any Avalonia, third-party APIs or any + // SynchronizationContext-reliant code before AppMain is called: things aren't initialized + // yet and stuff might break. + [STAThread] + public static void Main(string[] args) => BuildAvaloniaApp() + .StartWithClassicDesktopLifetime(args); + + // Avalonia configuration, don't remove; also used by visual designer. + public static AppBuilder BuildAvaloniaApp() + => AppBuilder.Configure() + .UsePlatformDetect() + .WithInterFont() + .LogToTrace(); +} \ No newline at end of file diff --git a/Pilz.UI.AvaloniaUI.TestApp/app.manifest b/Pilz.UI.AvaloniaUI.TestApp/app.manifest new file mode 100644 index 0000000..8254470 --- /dev/null +++ b/Pilz.UI.AvaloniaUI.TestApp/app.manifest @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + diff --git a/Pilz.UI.AvaloniaUI/Controls/ImageButton.axaml b/Pilz.UI.AvaloniaUI/Controls/ImageButton.axaml index 648d0f4..3b6cc99 100644 --- a/Pilz.UI.AvaloniaUI/Controls/ImageButton.axaml +++ b/Pilz.UI.AvaloniaUI/Controls/ImageButton.axaml @@ -3,6 +3,8 @@ xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" + HorizontalContentAlignment="Center" + VerticalContentAlignment="Center" x:Class="Pilz.UI.AvaloniaUI.Controls.ImageButton"> - 1.2.3 + 1.2.5 diff --git a/Pilz.sln b/Pilz.sln index 13da3f1..bb71797 100644 --- a/Pilz.sln +++ b/Pilz.sln @@ -55,6 +55,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Pilz.UI.AvaloniaUI", "Pilz. EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Pilz.UI.AvaloniaUI.Features", "Pilz.UI.AvaloniaUI.Features\Pilz.UI.AvaloniaUI.Features.csproj", "{E6607C0C-FD8D-422A-A612-B359F092FFAE}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Pilz.UI.AvaloniaUI.TestApp", "Pilz.UI.AvaloniaUI.TestApp\Pilz.UI.AvaloniaUI.TestApp.csproj", "{917553D2-2D26-431A-9DA6-ABDC6F3FCBF9}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -271,6 +273,14 @@ Global {E6607C0C-FD8D-422A-A612-B359F092FFAE}.Release|Any CPU.Build.0 = Release|Any CPU {E6607C0C-FD8D-422A-A612-B359F092FFAE}.Release|x86.ActiveCfg = Release|Any CPU {E6607C0C-FD8D-422A-A612-B359F092FFAE}.Release|x86.Build.0 = Release|Any CPU + {917553D2-2D26-431A-9DA6-ABDC6F3FCBF9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {917553D2-2D26-431A-9DA6-ABDC6F3FCBF9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {917553D2-2D26-431A-9DA6-ABDC6F3FCBF9}.Debug|x86.ActiveCfg = Debug|Any CPU + {917553D2-2D26-431A-9DA6-ABDC6F3FCBF9}.Debug|x86.Build.0 = Debug|Any CPU + {917553D2-2D26-431A-9DA6-ABDC6F3FCBF9}.Release|Any CPU.ActiveCfg = Release|Any CPU + {917553D2-2D26-431A-9DA6-ABDC6F3FCBF9}.Release|Any CPU.Build.0 = Release|Any CPU + {917553D2-2D26-431A-9DA6-ABDC6F3FCBF9}.Release|x86.ActiveCfg = Release|Any CPU + {917553D2-2D26-431A-9DA6-ABDC6F3FCBF9}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE