From 9ae022b46fc5fa670e7877e842acc31435fcc0a3 Mon Sep 17 00:00:00 2001 From: TheXamlGuy Date: Fri, 28 Jun 2024 21:58:44 +0100 Subject: [PATCH] Get profile image import working --- Wallet.Avalonia/CreateWalletView.axaml | 3 ++- Wallet/CreateWalletViewModel.cs | 27 +++++++++++++------------- Wallet/ProfileImageHandler.cs | 2 +- 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/Wallet.Avalonia/CreateWalletView.axaml b/Wallet.Avalonia/CreateWalletView.axaml index 2e31d30..79fd551 100644 --- a/Wallet.Avalonia/CreateWalletView.axaml +++ b/Wallet.Avalonia/CreateWalletView.axaml @@ -65,7 +65,8 @@ + DisplayName="{Binding Name}" + ProfilePicture="{Binding Image, Converter={ImageDescriptorToBitmapConverter}}" /> , IImageDescriptor>(Request.As()); - } - - public CreateWalletViewModel(IValidation validation, + public CreateWalletViewModel(IValidation validation, IServiceProvider provider, IServiceFactory factory, - IMediator mediator, + IMediator mediator, IPublisher publisher, - ISubscriber subscriber, + ISubscriber subscriber, IDisposer disposer) : base(provider, factory, mediator, publisher, subscriber, disposer) { Validation = validation; @@ -47,7 +44,7 @@ public partial class CreateWalletViewModel : Validation.Add(() => Name, [new ValidationRule(() => Name is { Length: > 0 })], ValidationTrigger.Immediate); - Validation.Add(() => Password, [new ValidationRule(() => Password is { Length: > 0 })], + Validation.Add(() => Password, [new ValidationRule(() => Password is { Length: > 0 })], ValidationTrigger.Immediate); Name = name; @@ -64,6 +61,10 @@ public partial class CreateWalletViewModel : } } + [RelayCommand] + public async Task Import() => Image = await Mediator.Handle, + IImageDescriptor>(Request.As()); + protected override void OnPropertyChanged(PropertyChangedEventArgs args) { if (args.PropertyName is string name) diff --git a/Wallet/ProfileImageHandler.cs b/Wallet/ProfileImageHandler.cs index 00f9d84..ddade58 100644 --- a/Wallet/ProfileImageHandler.cs +++ b/Wallet/ProfileImageHandler.cs @@ -13,7 +13,7 @@ public class ProfileImageHandler(IFileProvider fileProvider, { if (files.FirstOrDefault() is string file) { - return await imageProvider.Get(file, 100, 100, true); + return await imageProvider.Get(file, 200, 200, true); } }