ImageResourceConverter
ImageResourceConverter
è un convertitore che converte l'ID risorsa immagine incorporata in ImageSource. Una risorsa immagine incorporata è quando un'immagine è stata aggiunta a un progetto con l'azione di compilazione impostata su Risorsa incorporata. L'ID è il nome completo; quindi lo spazio dei nomi del progetto e il nome della risorsa. Nell'esempio di un progetto denominato CommunityToolkit.Maui.Sample
, viene generato un set di cartelle annidate di Resources/Embedded
e un'immagine denominata dotnetbot.png
ID con:
CommunityToolkit.Maui.Sample
+ Resources.Embedded
+ dotnetbot.png
che comporta:
CommunityToolkit.Maui.Sample.Resources.Embedded.dotnetbot.png
Proprietà BaseConverter
Le proprietà seguenti vengono implementate nella classe base : public abstract class BaseConverter
Proprietà | Descrizione |
---|---|
DefaultConvertReturnValue |
Valore predefinito da restituire quando IValueConverter.Convert(object?, Type, object?, CultureInfo?) genera un'eccezione Exception . Questo valore viene usato quando CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters è impostato su true . |
DefaultConvertBackReturnValue |
Valore predefinito da restituire quando IValueConverter.ConvertBack(object?, Type, object?, CultureInfo?) genera un'eccezione Exception . Questo valore viene usato quando CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters è impostato su true . |
Proprietà ICommunityToolkitValueConverter
Le proprietà seguenti vengono implementate in public interface ICommunityToolkitValueConverter
:
Proprietà | Type | Descrizione |
---|---|---|
DefaultConvertReturnValue |
object? |
Valore predefinito da restituire quando IValueConverter.Convert(object?, Type, object?, CultureInfo?) genera un'eccezione Exception . Questo valore viene usato quando CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters è impostato su true . |
DefaultConvertBackReturnValue |
object? |
Valore predefinito da restituire quando IValueConverter.ConvertBack(object?, Type, object?, CultureInfo?) genera un'eccezione Exception . Questo valore viene usato quando CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters è impostato su true . |
Sintassi
XAML
Inclusione dello spazio dei nomi XAML
Per usare il toolkit in XAML, è necessario aggiungere le informazioni seguenti xmlns
nella pagina o nella visualizzazione:
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
Di conseguenza:
<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>
Verrà modificato in modo da includere l'oggetto xmlns
come indicato di seguito:
<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>
Uso di ImageResourceConverter
Può ImageResourceConverter
essere usato come segue in 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.ImageResourceConverterPage">
<ContentPage.Resources>
<ResourceDictionary>
<toolkit:ImageResourceConverter x:Key="ImageResourceConverter" />
</ResourceDictionary>
</ContentPage.Resources>
<Image Source="{Binding MyImageResource, Converter={StaticResource ImageResourceConverter}}" />
</ContentPage>
C#
Può ImageResourceConverter
essere usato come indicato di seguito in C#:
class ImageResourceConverterPage : ContentPage
{
public ImageResourceConverterPage()
{
var image = new Image();
image.SetBinding(
Image.SourceProperty,
new Binding(
static (ViewModel vm) => vm.MyImageResource,
converter: new ImageResourceConverter()));
Content = label;
}
}
C# Markup
Il CommunityToolkit.Maui.Markup
pacchetto offre un modo molto più conciso per usare questo convertitore in C#.
using CommunityToolkit.Maui.Markup;
class ImageResourceConverterPage : ContentPage
{
public ImageResourceConverterPage()
{
Content = new Image()
.Bind(
Label.SourceProperty,
static (ViewModel vm) => vm.MyImageResource,
converter: new ImageResourceConverter());
}
}
Esempi
È possibile trovare un esempio di questo convertitore in azione nell'applicazione di esempio .NET MAUI Community Toolkit.
API
È possibile trovare il codice sorgente per ImageResourceConverter
over nel repository GitHub di .NET MAUI Community Toolkit.
.NET MAUI Community Toolkit