diff --git a/demo/Semi.Avalonia.Demo.Web/wwwroot/favicon.ico b/demo/Semi.Avalonia.Demo.Web/wwwroot/favicon.ico index da8d49f..9639c72 100644 Binary files a/demo/Semi.Avalonia.Demo.Web/wwwroot/favicon.ico and b/demo/Semi.Avalonia.Demo.Web/wwwroot/favicon.ico differ diff --git a/demo/Semi.Avalonia.Demo.Web/wwwroot/index.html b/demo/Semi.Avalonia.Demo.Web/wwwroot/index.html index 1c0e7e3..c295e05 100644 --- a/demo/Semi.Avalonia.Demo.Web/wwwroot/index.html +++ b/demo/Semi.Avalonia.Demo.Web/wwwroot/index.html @@ -6,6 +6,7 @@ + diff --git a/demo/Semi.Avalonia.Demo/App.axaml b/demo/Semi.Avalonia.Demo/App.axaml index a4b39ab..6af3dda 100644 --- a/demo/Semi.Avalonia.Demo/App.axaml +++ b/demo/Semi.Avalonia.Demo/App.axaml @@ -2,7 +2,10 @@ x:Class="Semi.Avalonia.Demo.App" xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" - xmlns:semi="https://irihi.tech/semi"> + x:CompileBindings="True" + x:DataType="viewModels:ApplicationViewModel" + xmlns:semi="https://irihi.tech/semi" + xmlns:viewModels="clr-namespace:Semi.Avalonia.Demo.ViewModels"> @@ -14,8 +17,20 @@ - + + + + + + + + + + + + \ No newline at end of file diff --git a/demo/Semi.Avalonia.Demo/App.axaml.cs b/demo/Semi.Avalonia.Demo/App.axaml.cs index 305563c..5a67b89 100644 --- a/demo/Semi.Avalonia.Demo/App.axaml.cs +++ b/demo/Semi.Avalonia.Demo/App.axaml.cs @@ -2,6 +2,7 @@ using Avalonia; using Avalonia.Controls.ApplicationLifetimes; using Avalonia.Data.Core.Plugins; using Avalonia.Markup.Xaml; +using Semi.Avalonia.Demo.ViewModels; using Semi.Avalonia.Demo.Views; namespace Semi.Avalonia.Demo; @@ -11,6 +12,7 @@ public partial class App : Application public override void Initialize() { AvaloniaXamlLoader.Load(this); + this.DataContext = new ApplicationViewModel(); } public override void OnFrameworkInitializationCompleted() diff --git a/demo/Semi.Avalonia.Demo/Assets/avalonia-logo.ico b/demo/Semi.Avalonia.Demo/Assets/avalonia-logo.ico deleted file mode 100644 index da8d49f..0000000 Binary files a/demo/Semi.Avalonia.Demo/Assets/avalonia-logo.ico and /dev/null differ diff --git a/demo/Semi.Avalonia.Demo/Assets/irihi.ico b/demo/Semi.Avalonia.Demo/Assets/irihi.ico new file mode 100644 index 0000000..9639c72 Binary files /dev/null and b/demo/Semi.Avalonia.Demo/Assets/irihi.ico differ diff --git a/demo/Semi.Avalonia.Demo/ViewModels/ApplicationViewModel.cs b/demo/Semi.Avalonia.Demo/ViewModels/ApplicationViewModel.cs new file mode 100644 index 0000000..5abf230 --- /dev/null +++ b/demo/Semi.Avalonia.Demo/ViewModels/ApplicationViewModel.cs @@ -0,0 +1,19 @@ +using Avalonia; +using Avalonia.Controls.ApplicationLifetimes; +using CommunityToolkit.Mvvm.ComponentModel; +using CommunityToolkit.Mvvm.Input; +using Semi.Avalonia.Demo.Views; + +namespace Semi.Avalonia.Demo.ViewModels; + +public partial class ApplicationViewModel: ObservableObject +{ + [RelayCommand] + private void Exit() + { + if (Application.Current?.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop) + { + desktop.Shutdown(); + } + } +} \ No newline at end of file diff --git a/demo/Semi.Avalonia.Demo/Views/MainWindow.axaml b/demo/Semi.Avalonia.Demo/Views/MainWindow.axaml index dd78df4..858b471 100644 --- a/demo/Semi.Avalonia.Demo/Views/MainWindow.axaml +++ b/demo/Semi.Avalonia.Demo/Views/MainWindow.axaml @@ -8,7 +8,7 @@ Title="Semi.Avalonia.Demo" d:DesignHeight="450" d:DesignWidth="800" - Icon="/Assets/avalonia-logo.ico" + Icon="/Assets/irihi.ico" mc:Ignorable="d">