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">