diff --git a/src/Avalonia/Directory.Build.props b/src/Avalonia/Directory.Build.props new file mode 100644 index 000000000..b7d1f090c --- /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 000000000..6ecedd565 --- /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 000000000..f48db2b30 --- /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 000000000..a3a2cc373 --- /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 000000000..ddd9e5391 --- /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 000000000..8edecb99c --- /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 000000000..3b0751f82 --- /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 000000000..f8b36fb42 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 000000000..719edf88b 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 000000000..9c7bb5c37 --- /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 000000000..e7d9b2b54 --- /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 000000000..12c62a092 --- /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 000000000..7d3a9fe1c --- /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 000000000..2eee6d7d5 --- /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 000000000..18c2736cc --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/Views/Styles/ButtonDemoCtrl.axaml @@ -0,0 +1,17 @@ + + +