Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O ByteArrayToImageSourceConverter é um conversor que permite ao utilizador converter um valor recebido de um byte array e devolve um ImageSource. Este objeto pode então ser usado como Source de um controlo Image.
O método Convert devolve os byte[]value fornecidos convertidos num ImageSource.
O ConvertBack método devolve o fornecido ImageSourcevalue convertido para um byte[].
Propriedades do BaseConverter
As seguintes propriedades são implementadas na classe base, public abstract class BaseConverter:
| Propriedade | Description |
|---|---|
DefaultConvertReturnValue |
Valor padrão a devolver quando IValueConverter.Convert(object?, Type, object?, CultureInfo?) lança um Exception. Este valor é usado quando o CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters está definido como true. |
DefaultConvertBackReturnValue |
Valor padrão a devolver quando IValueConverter.ConvertBack(object?, Type, object?, CultureInfo?) lança um Exception. Este valor é usado quando o CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters está definido como true. |
Propriedades do ICommunityToolkitValueConverter
As seguintes propriedades estão implementadas no public interface ICommunityToolkitValueConverter:
| Propriedade | Tipo | Description |
|---|---|---|
DefaultConvertReturnValue |
object? |
Valor padrão a devolver quando IValueConverter.Convert(object?, Type, object?, CultureInfo?) lança um Exception. Este valor é usado quando o CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters está definido como true. |
DefaultConvertBackReturnValue |
object? |
Valor padrão a devolver quando IValueConverter.ConvertBack(object?, Type, object?, CultureInfo?) lança um Exception. Este valor é usado quando o CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters está definido como true. |
Syntax
XAML
Incluindo o namespace XAML
Para usar o kit de ferramentas em XAML, a seguinte xmlns precisa ser adicionada à sua página ou vista.
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
Por conseguinte, o seguinte:
<ContentPage
x:Class="CommunityToolkit.Maui.Sample.Pages.MyPage"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">
</ContentPage>
Seria modificado para incluir o xmlns da seguinte forma:
<ContentPage
x:Class="CommunityToolkit.Maui.Sample.Pages.MyPage"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit">
</ContentPage>
Usando o ByteArrayToImageSourceConverter
O ByteArrayToImageSourceConverter pode ser utilizado da seguinte forma em XAML:
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
x:Class="CommunityToolkit.Maui.Sample.Pages.Converters.ByteArrayToImageSourceConverterPage">
<ContentPage.Resources>
<ResourceDictionary>
<toolkit:ByteArrayToImageSourceConverter x:Key="ByteArrayToImageSourceConverter" />
</ResourceDictionary>
</ContentPage.Resources>
<Image Source="{Binding DotNetBotImageByteArray, Mode=OneWay, Converter={StaticResource ByteArrayToImageSourceConverter}}" />
</ContentPage>
C#
O ByteArrayToImageSourceConverter pode ser usado da seguinte forma em C#:
class ByteArrayToImageSourceConverterPage : ContentPage
{
public ByteArrayToImageSourceConverterPage()
{
var image = new Image();
image.SetBinding(
Image.SourceProperty,
new Binding(
static (ViewModel vm) => vm.DotNetBotImageByteArray,
mode: BindingMode.OneWay,
converter: new ByteArrayToImageSourceConverter()));
Content = image;
}
}
Marcação em C#
O nosso CommunityToolkit.Maui.Markup pacote oferece uma forma muito mais concisa de usar este conversor em C#.
using CommunityToolkit.Maui.Markup;
class ByteArrayToImageSourceConverterPage : ContentPage
{
public ByteArrayToImageSourceConverterPage()
{
Content = new Image()
.Bind(
Image.SourceProperty,
static (ViewModel vm) => vm.DotNetBotImageByteArray,
mode: BindingMode.OneWay,
converter: new ByteArrayToImageSourceConverter());
}
}
Exemplos
Pode encontrar um exemplo deste conversor em ação na .NET MAUI Community Toolkit Sample Application.
API
Você pode encontrar o código-fonte para ByteArrayToImageSourceConverter no repositório GitHub do .NET MAUI Community Toolkit.
.NET MAUI Community Toolkit