From e19a963f8e9d7c7c7989c98929be725e212abf03 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 --- .../ImageDescriptorToBitmapConverter.cs | 34 +++++++++++++++++++ .../PersonPicture/PersonPicture.axaml | 1 + .../PersonPicture/PersonPicture.cs | 1 + 3 files changed, 36 insertions(+) create mode 100644 Toolkit.UI.Avalonia/ImageDescriptorToBitmapConverter.cs diff --git a/Toolkit.UI.Avalonia/ImageDescriptorToBitmapConverter.cs b/Toolkit.UI.Avalonia/ImageDescriptorToBitmapConverter.cs new file mode 100644 index 0000000..44b72b2 --- /dev/null +++ b/Toolkit.UI.Avalonia/ImageDescriptorToBitmapConverter.cs @@ -0,0 +1,34 @@ +using Avalonia.Data.Converters; +using Avalonia.Markup.Xaml; +using System.Globalization; +using Toolkit.Foundation; + +namespace Toolkit.UI.Avalonia; + +public class ImageDescriptorToBitmapConverter : + MarkupExtension, + IValueConverter +{ + public object? Convert(object? value, + Type targetType, + object? parameter, + CultureInfo culture) + { + if (value is IImageDescriptor imageDescriptor) + { + return imageDescriptor.Image; + } + + return default; + } + + public object? ConvertBack(object? value, + Type targetType, + object? parameter, + CultureInfo culture) + { + throw new NotImplementedException(); + } + + public override object ProvideValue(IServiceProvider serviceProvider) => this; +} diff --git a/Toolkit.UI.Controls.Avalonia/PersonPicture/PersonPicture.axaml b/Toolkit.UI.Controls.Avalonia/PersonPicture/PersonPicture.axaml index f1f81b5..a529535 100644 --- a/Toolkit.UI.Controls.Avalonia/PersonPicture/PersonPicture.axaml +++ b/Toolkit.UI.Controls.Avalonia/PersonPicture/PersonPicture.axaml @@ -55,6 +55,7 @@ x:Name="PersonPictureEllipse" Width="{TemplateBinding Width}" Height="{TemplateBinding Height}" + Fill="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.ActualImageBrush}" FlowDirection="LeftToRight" />