diff --git a/demo/Ursa.Demo/App.axaml b/demo/Ursa.Demo/App.axaml
index 541947e..12000f0 100644
--- a/demo/Ursa.Demo/App.axaml
+++ b/demo/Ursa.Demo/App.axaml
@@ -5,7 +5,9 @@
xmlns:semi="https://irihi.tech/semi"
xmlns:u-semi="https://irihi.tech/ursa/themes/semi"
xmlns:u="https://irihi.tech/ursa"
- xmlns:iri="https://irihi.tech/shared">
+ xmlns:iri="https://irihi.tech/shared"
+ xmlns:vm="clr-namespace:Ursa.Demo.ViewModels"
+ x:DataType="vm:ApplicationViewModel">
@@ -18,4 +20,12 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/demo/Ursa.Demo/App.axaml.cs b/demo/Ursa.Demo/App.axaml.cs
index 92e928f..b0b5d06 100644
--- a/demo/Ursa.Demo/App.axaml.cs
+++ b/demo/Ursa.Demo/App.axaml.cs
@@ -12,6 +12,7 @@ public partial class App : Application
public override void Initialize()
{
AvaloniaXamlLoader.Load(this);
+ DataContext = new ApplicationViewModel();
}
public override void OnFrameworkInitializationCompleted()
diff --git a/demo/Ursa.Demo/ViewModels/ApplicationViewModel.cs b/demo/Ursa.Demo/ViewModels/ApplicationViewModel.cs
new file mode 100644
index 0000000..1f96383
--- /dev/null
+++ b/demo/Ursa.Demo/ViewModels/ApplicationViewModel.cs
@@ -0,0 +1,14 @@
+using CommunityToolkit.Mvvm.ComponentModel;
+using CommunityToolkit.Mvvm.Input;
+using CommunityToolkit.Mvvm.Messaging;
+
+namespace Ursa.Demo.ViewModels;
+
+public partial class ApplicationViewModel : ObservableObject
+{
+ [RelayCommand]
+ private void JumpTo(string header)
+ {
+ WeakReferenceMessenger.Default.Send(header, "JumpTo");
+ }
+}
\ No newline at end of file
diff --git a/demo/Ursa.Demo/ViewModels/MainViewViewModel.cs b/demo/Ursa.Demo/ViewModels/MainViewViewModel.cs
index a6396e3..9b7232f 100644
--- a/demo/Ursa.Demo/ViewModels/MainViewViewModel.cs
+++ b/demo/Ursa.Demo/ViewModels/MainViewViewModel.cs
@@ -16,17 +16,12 @@ public partial class MainViewViewModel : ViewModelBase
public WindowNotificationManager? NotificationManager { get; set; }
public MenuViewModel Menus { get; set; } = new MenuViewModel();
- private object? _content;
-
- public object? Content
- {
- get => _content;
- set => SetProperty(ref _content, value);
- }
+ [ObservableProperty] private object? _content;
public MainViewViewModel()
{
- WeakReferenceMessenger.Default.Register(this, OnNavigation);
+ WeakReferenceMessenger.Default.Register(this, "JumpTo", OnNavigation);
+ OnNavigation(this, MenuKeys.MenuKeyIntroduction);
}
diff --git a/demo/Ursa.Demo/ViewModels/MenuItemViewModel.cs b/demo/Ursa.Demo/ViewModels/MenuItemViewModel.cs
index 04aa4d9..4f1e408 100644
--- a/demo/Ursa.Demo/ViewModels/MenuItemViewModel.cs
+++ b/demo/Ursa.Demo/ViewModels/MenuItemViewModel.cs
@@ -32,6 +32,6 @@ public class MenuItemViewModel: ViewModelBase
private void OnActivate()
{
if (IsSeparator || Key is null) return;
- WeakReferenceMessenger.Default.Send(Key);
+ WeakReferenceMessenger.Default.Send(Key, "JumpTo");
}
}
\ No newline at end of file