1
- using System ;
2
- using System . Reactive . Linq ;
3
1
using Avalonia ;
4
2
using Avalonia . Controls . ApplicationLifetimes ;
5
3
using Avalonia . Markup . Xaml ;
6
4
using GlobalHotKeys ;
5
+ using System ;
6
+ using System . Reactive . Linq ;
7
7
8
8
namespace AvaloniaApp
9
9
{
10
- public class App : Application
11
- {
12
- public override void Initialize ( )
13
- {
14
- AvaloniaXamlLoader . Load ( this ) ;
15
- }
16
-
17
- public override void OnFrameworkInitializationCompleted ( )
10
+ public class App : Application
18
11
{
19
- if ( ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop )
20
- {
21
- var hotKeyManager = new HotKeyManager ( ) ;
22
- var hotKeySubscription = hotKeyManager . Register ( VirtualKeyCode . KEY_1 , Modifiers . Shift ) ;
23
-
24
- desktop . Exit += ( sender , args ) =>
12
+ public override void Initialize ( )
25
13
{
26
- hotKeySubscription . Dispose ( ) ;
27
- hotKeyManager . Dispose ( ) ;
28
- } ;
29
-
30
- var mainViewModel = new MainViewModel ( ) ;
31
-
32
- hotKeyManager . HotKeyPressed
33
- . ObserveOn ( Avalonia . Threading . AvaloniaScheduler . Instance )
34
- . Subscribe ( hotKey => mainViewModel . Text += $ "HotKey: Id={ hotKey . Id } , Key={ hotKey . Key } , Modifiers={ hotKey . Modifiers } { Environment . NewLine } ") ;
14
+ AvaloniaXamlLoader . Load ( this ) ;
15
+ }
35
16
36
- desktop . MainWindow =
37
- new MainWindow
38
- {
39
- DataContext = mainViewModel
40
- } ;
41
- }
42
-
43
-
44
- base . OnFrameworkInitializationCompleted ( ) ;
17
+ public override void OnFrameworkInitializationCompleted ( )
18
+ {
19
+ if ( ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop )
20
+ {
21
+ var hotKeyManager = new HotKeyManager ( ) ;
22
+ var hotKeySubscription = hotKeyManager . Register ( VirtualKeyCode . KEY_1 , Modifiers . Shift ) ;
23
+
24
+ desktop . Exit += ( sender , args ) =>
25
+ {
26
+ hotKeySubscription . Dispose ( ) ;
27
+ hotKeyManager . Dispose ( ) ;
28
+ } ;
29
+
30
+ var mainViewModel = new MainViewModel ( ) ;
31
+
32
+ hotKeyManager . HotKeyPressed
33
+ . ObserveOn ( Avalonia . Threading . AvaloniaScheduler . Instance )
34
+ . Subscribe ( hotKey => mainViewModel . Text += $ "HotKey: Id={ hotKey . Id } , Key={ hotKey . Key } , Modifiers={ hotKey . Modifiers } { Environment . NewLine } ") ;
35
+
36
+ desktop . MainWindow =
37
+ new MainWindow
38
+ {
39
+ DataContext = mainViewModel
40
+ } ;
41
+ }
42
+
43
+ base . OnFrameworkInitializationCompleted ( ) ;
44
+ }
45
45
}
46
- }
47
46
}
0 commit comments