IndexToArrayItemConverter
Le IndexToArrayItemConverter
est un convertisseur qui permet aux utilisateurs de convertir une liaison de valeur int
en élément de tableau. La valeur int
liée aux données représente l’indexeur utilisé pour accéder au tableau. Le tableau est transmis par le biais du ConverterParameter
.
Propriétés BaseConverter
Les propriétés suivantes sont implémentées dans la classe de base : public abstract class BaseConverter
Propriété | Description |
---|---|
DefaultConvertReturnValue |
Valeur par défaut à retourner lorsque IValueConverter.Convert(object?, Type, object?, CultureInfo?) lève un Exception . Cette valeur est utilisée lorsque CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters est défini sur true . |
DefaultConvertBackReturnValue |
Valeur par défaut à retourner lorsque IValueConverter.ConvertBack(object?, Type, object?, CultureInfo?) lève un Exception . Cette valeur est utilisée lorsque CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters est défini sur true . |
Propriétés ICommunityToolkitValueConverter
Les propriétés suivantes sont implémentées dans public interface ICommunityToolkitValueConverter
:
Propriété | Type | Description |
---|---|---|
DefaultConvertReturnValue |
object? |
Valeur par défaut à retourner lorsque IValueConverter.Convert(object?, Type, object?, CultureInfo?) lève un Exception . Cette valeur est utilisée lorsque CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters est défini sur true . |
DefaultConvertBackReturnValue |
object? |
Valeur par défaut à retourner lorsque IValueConverter.ConvertBack(object?, Type, object?, CultureInfo?) lève un Exception . Cette valeur est utilisée lorsque CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters est défini sur true . |
Syntaxe
XAML
Y compris l’espace de noms XAML
Pour utiliser le kit de ressources dans XAML, le xmlns
suivant doit être ajouté à votre page ou à votre affichage :
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
Il en résulte ce qui suit :
<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>
Serait modifié pour inclure le xmlns
de la manière suivante :
<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>
Utilisation de IndexToArrayItemConverter
Le IndexToArrayItemConverter
peut être utilisé de la manière suivante dans 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="MyLittleApp.MainPage">
<ContentPage.Resources>
<ResourceDictionary>
<toolkit:IndexToArrayItemConverter x:Key="IndexToArrayItemConverter" />
<x:Array x:Key="MyArray" Type="x:String">
<x:String>Value 1</x:String>
<x:String>Value 2</x:String>
<x:String>Value 3</x:String>
<x:String>Value 4</x:String>
<x:String>Value 5</x:String>
</x:Array>
</ResourceDictionary>
</ContentPage.Resources>
<StackLayout>
<Label Text="{Binding MyIntegerValue, Converter={StaticResource IndexToArrayItemConverter}, ConverterParameter={StaticResource MyArray}}" />
</StackLayout>
</ContentPage>
C#
Le IndexToArrayItemConverter
peut être utilisé de la manière suivante dans C# :
class IndexToArrayItemConverter : ContentPage
{
public IndexToArrayItemConverter()
{
var array = new string[] { "Value 1", "Value 2", "Value 3", "Value 4", "Value 5" };
var label = new Label();
label.SetBinding(
Label.TextProperty,
new Binding(
static (ViewModel vm) => vm.MyIntegerValue,
converter: new IndexToArrayItemConverter(),
converterParameter: array));
Content = label;
}
}
Balisage C#
Notre package CommunityToolkit.Maui.Markup
offre un moyen beaucoup plus concis d’utiliser ce convertisseur en C#.
using CommunityToolkit.Maui.Markup;
class IndexToArrayItemConverter : ContentPage
{
public IndexToArrayItemConverter()
{
var array = new string[] { "Value 1", "Value 2", "Value 3", "Value 4", "Value 5" };
Content = new Label()
.Bind(
Label.TextProperty,
static (ViewModel vm) => vm.MyIntegerValue,
converter: new IndexToArrayItemConverter(),
converterParameter: array);
}
}
Exemples
Vous trouverez un exemple de ce convertisseur en action dans l’exemple d’application du kit d’outils de la communauté .NET MAUI.
API
Vous pouvez trouver le code source deIndexToArrayItemConverter
sur le référentiel du kit de ressources de la communauté .NET MAUI sur GitHub.
.NET MAUI Community Toolkit