diff --git a/src/Avalonia/Directory.Build.props b/src/Avalonia/Directory.Build.props new file mode 100644 index 00000000..b7d1f090 --- /dev/null +++ b/src/Avalonia/Directory.Build.props @@ -0,0 +1,6 @@ + + + enable + 11.0.6 + + diff --git a/src/Avalonia/HandyControlDemo_Avalonia/App.axaml b/src/Avalonia/HandyControlDemo_Avalonia/App.axaml new file mode 100644 index 00000000..6ecedd56 --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/App.axaml @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/src/Avalonia/HandyControlDemo_Avalonia/App.axaml.cs b/src/Avalonia/HandyControlDemo_Avalonia/App.axaml.cs new file mode 100644 index 00000000..f48db2b3 --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/App.axaml.cs @@ -0,0 +1,28 @@ +using Avalonia; +using Avalonia.Controls.ApplicationLifetimes; +using Avalonia.Data.Core.Plugins; +using Avalonia.Markup.Xaml; + + +namespace HandyControlDemo; + +// ReSharper disable once PartialTypeWithSinglePart +public partial class App : Application +{ + public override void Initialize() + { + AvaloniaXamlLoader.Load(this); + } + + public override void OnFrameworkInitializationCompleted() + { + BindingPlugins.DataValidators.RemoveAt(0); + + if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop) + { + desktop.MainWindow = new MainWindow(); + } + + base.OnFrameworkInitializationCompleted(); + } +} diff --git a/src/Avalonia/HandyControlDemo_Avalonia/HandyControlDemo_Avalonia.csproj b/src/Avalonia/HandyControlDemo_Avalonia/HandyControlDemo_Avalonia.csproj new file mode 100644 index 00000000..a3a2cc37 --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/HandyControlDemo_Avalonia.csproj @@ -0,0 +1,41 @@ + + + WinExe + + net7.0 + enable + true + app.manifest + HandyControlDemo + HandyControlDemo + + + + + + + + + + + + + + + + + + + + + + + + App.axaml + + + ButtonDemoCtrl.axaml + + + diff --git a/src/Avalonia/HandyControlDemo_Avalonia/MainWindow.axaml b/src/Avalonia/HandyControlDemo_Avalonia/MainWindow.axaml new file mode 100644 index 00000000..ddd9e539 --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/MainWindow.axaml @@ -0,0 +1,15 @@ + + + diff --git a/src/Avalonia/HandyControlDemo_Avalonia/MainWindow.axaml.cs b/src/Avalonia/HandyControlDemo_Avalonia/MainWindow.axaml.cs new file mode 100644 index 00000000..8edecb99 --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/MainWindow.axaml.cs @@ -0,0 +1,11 @@ +using Avalonia.Controls; + +namespace HandyControlDemo; + +public partial class MainWindow : Window +{ + public MainWindow() + { + InitializeComponent(); + } +} diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Program.cs b/src/Avalonia/HandyControlDemo_Avalonia/Program.cs new file mode 100644 index 00000000..3b0751f8 --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/Program.cs @@ -0,0 +1,16 @@ +using System; +using Avalonia; + +namespace HandyControlDemo; + +public class Program +{ + [STAThread] + public static void Main(string[] args) => BuildAvaloniaApp() + .StartWithClassicDesktopLifetime(args); + + public static AppBuilder BuildAvaloniaApp() + => AppBuilder.Configure() + .UsePlatformDetect() + .LogToTrace(); +} diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Resources/Img/cloud.png b/src/Avalonia/HandyControlDemo_Avalonia/Resources/Img/cloud.png new file mode 100644 index 00000000..f8b36fb4 Binary files /dev/null and b/src/Avalonia/HandyControlDemo_Avalonia/Resources/Img/cloud.png differ diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Resources/Img/icon.ico b/src/Avalonia/HandyControlDemo_Avalonia/Resources/Img/icon.ico new file mode 100644 index 00000000..719edf88 Binary files /dev/null and b/src/Avalonia/HandyControlDemo_Avalonia/Resources/Img/icon.ico differ diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Basic/Basic.axaml b/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Basic/Basic.axaml new file mode 100644 index 00000000..9c7bb5c3 --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Basic/Basic.axaml @@ -0,0 +1,6 @@ + + + + + diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Basic/Brushes.axaml b/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Basic/Brushes.axaml new file mode 100644 index 00000000..e7d9b2b5 --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Basic/Brushes.axaml @@ -0,0 +1,8 @@ + + + + + + + diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Theme.axaml b/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Theme.axaml new file mode 100644 index 00000000..12c62a09 --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Theme.axaml @@ -0,0 +1,10 @@ + + + + + + + + + diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Views/Main/MainWindowContent.axaml b/src/Avalonia/HandyControlDemo_Avalonia/Views/Main/MainWindowContent.axaml new file mode 100644 index 00000000..7d3a9fe1 --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/Views/Main/MainWindowContent.axaml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Views/Main/MainWindowContent.axaml.cs b/src/Avalonia/HandyControlDemo_Avalonia/Views/Main/MainWindowContent.axaml.cs new file mode 100644 index 00000000..2eee6d7d --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/Views/Main/MainWindowContent.axaml.cs @@ -0,0 +1,11 @@ +using Avalonia.Controls; + +namespace HandyControlDemo.Views; + +public partial class MainWindowContent : UserControl +{ + public MainWindowContent() + { + InitializeComponent(); + } +} diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Views/Styles/ButtonDemoCtrl.axaml b/src/Avalonia/HandyControlDemo_Avalonia/Views/Styles/ButtonDemoCtrl.axaml new file mode 100644 index 00000000..18c2736c --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/Views/Styles/ButtonDemoCtrl.axaml @@ -0,0 +1,17 @@ + + +