diff options
Diffstat (limited to 'ViewModels')
| -rw-r--r-- | ViewModels/Image/ImageViewModel.cs | 13 | ||||
| -rw-r--r-- | ViewModels/Settings/SettingsViewModel.cs | 2 |
2 files changed, 10 insertions, 5 deletions
diff --git a/ViewModels/Image/ImageViewModel.cs b/ViewModels/Image/ImageViewModel.cs index 030a95b..3b41919 100644 --- a/ViewModels/Image/ImageViewModel.cs +++ b/ViewModels/Image/ImageViewModel.cs @@ -1,22 +1,27 @@ +using Avalar.Models.Interfaces; using Avalar.ViewModels.Image; using Avalar.Views; using Avalonia.Media.Imaging; using ReactiveUI; +using System; using System.Linq; namespace Avalar.Viewmodels.Image { public class ImageViewModel : ReactiveObject { - public ImageViewModel(IAvalarViewService viewService) + public ImageViewModel(IImageModel imageModel, IServiceProvider serviceProvider) { - ViewService = viewService; + ViewService = serviceProvider?.GetService(typeof(IAvalarViewService)) as IAvalarViewService; + ImageModel = imageModel; ChildViewModel = new ImageNotLoadedViewModel(ReactiveCommand.Create(OpenFile)); } private IAvalarViewService ViewService { get; } + private IImageModel ImageModel { get; } + private object m_ChildViewModel; public object ChildViewModel @@ -29,10 +34,10 @@ namespace Avalar.Viewmodels.Image public async void OpenFile() { - var result = await ViewService.ShowOpenImageFileDialog(); + var result = await ViewService.ShowOpenImageFileDialog().ConfigureAwait(true); if (result.Length != 1) return; - ChildViewModel = new ImageLoadedViewModel(new Bitmap(result.First())); + ChildViewModel = new ImageLoadedViewModel(ImageModel.LoadImage(result.First())); } } } diff --git a/ViewModels/Settings/SettingsViewModel.cs b/ViewModels/Settings/SettingsViewModel.cs index b9f076b..730b662 100644 --- a/ViewModels/Settings/SettingsViewModel.cs +++ b/ViewModels/Settings/SettingsViewModel.cs @@ -1,7 +1,7 @@ namespace Avalar.ViewModels.Settings { - class SettingsViewModel + public class SettingsViewModel { } } |
