diff --git a/MainWindow.xaml b/MainWindow.xaml index db11bfe..35681c0 100644 --- a/MainWindow.xaml +++ b/MainWindow.xaml @@ -7,9 +7,20 @@ Width="640" Height="480" WindowStartupLocation="CenterScreen" Title="AvaloniaCoreRTDemo"> - - Welcome to Avalonia UI + CoreRT! - - - + + + + + + + + + + + Welcome to Avalonia UI + CoreRT! + + + + + diff --git a/MainWindow.xaml.cs b/MainWindow.xaml.cs index d0ca75b..0be15b3 100644 --- a/MainWindow.xaml.cs +++ b/MainWindow.xaml.cs @@ -2,10 +2,6 @@ using Avalonia; using Avalonia.Controls; using Avalonia.Controls.Shapes; using Avalonia.Markup.Xaml; -using Avalonia.Media.Imaging; -using ReactiveUI; -using System; -using Path = System.IO.Path; namespace AvaloniaCoreRTDemo { @@ -14,7 +10,7 @@ namespace AvaloniaCoreRTDemo public MainWindow() { InitializeComponent(); - this.DataContext = new ViewModel(); + this.DataContext = new MainWindowViewModel(); } private void InitializeComponent() @@ -22,27 +18,4 @@ namespace AvaloniaCoreRTDemo AvaloniaXamlLoader.Load(this); } } - - public class ViewModel: ReactiveObject - { - public ViewModel() - { - DotNetImage = new Bitmap(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "dotnet.png")); - AvaloniaImage = new Bitmap(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "avalonia.png")); - } - - private IBitmap dotNetImage; - public IBitmap DotNetImage - { - get { return dotNetImage; } - set { this.RaiseAndSetIfChanged(ref this.dotNetImage, value); } - } - - private IBitmap avaloniaImage; - public IBitmap AvaloniaImage - { - get { return avaloniaImage; } - set { this.RaiseAndSetIfChanged(ref this.avaloniaImage, value); } - } - } } \ No newline at end of file diff --git a/MainWindowViewModel.cs b/MainWindowViewModel.cs new file mode 100644 index 0000000..37b96d0 --- /dev/null +++ b/MainWindowViewModel.cs @@ -0,0 +1,49 @@ +using Avalonia; +using Avalonia.Media.Imaging; +using ReactiveUI; +using System; +using System.Reactive; +using Path = System.IO.Path; + +namespace AvaloniaCoreRTDemo +{ + public class MainWindowViewModel: ReactiveObject + { + public MainWindowViewModel() + { + DotNetImage = new Bitmap(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "dotnet.png")); + AvaloniaImage = new Bitmap(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "avalonia.png")); + + FileExitCommand = ReactiveCommand.Create(RunFileExit); + HelpAboutCommand = ReactiveCommand.Create(RunHelpAbout); + } + + public IBitmap DotNetImage + { + get { return dotNetImage; } + set { this.RaiseAndSetIfChanged(ref this.dotNetImage, value); } + } + + public IBitmap AvaloniaImage + { + get { return avaloniaImage; } + set { this.RaiseAndSetIfChanged(ref this.avaloniaImage, value); } + } + + public ReactiveCommand FileExitCommand { get; } + public ReactiveCommand HelpAboutCommand { get; } + + void RunFileExit() + { + Environment.Exit(0); + } + + void RunHelpAbout() + { + // Code for executing the command here. + } + + private IBitmap dotNetImage; + private IBitmap avaloniaImage; + } +} \ No newline at end of file