summaryrefslogtreecommitdiff
path: root/ViewModels
diff options
context:
space:
mode:
Diffstat (limited to 'ViewModels')
-rw-r--r--ViewModels/Image/ImageViewModel.cs13
-rw-r--r--ViewModels/Settings/SettingsViewModel.cs2
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
{
}
}