Le StringToListConverter est un convertisseur unidirectionnel qui retourne un ensemble de sous-chaînes en fractionnant la chaîne d’entrée en fonction d’un ou plusieurs séparateurs.
La méthode Convert retourne un ensemble de sous-chaînes en fractionnant la chaîne d’entrée en fonction d’un ou plusieurs séparateurs.
Notes
Notez que les séparateurs peuvent être fournis dans l’ordre de priorité suivant :
en tant que ConverterParameter dans la liaison du convertisseur, cela remplace les propriétés Separators et Separator
en tant que propriété Separators sur le convertisseur, cela remplace la propriété Separator
en tant que propriété Separator sur le convertisseur.
La méthode ConvertBack n’est pas prise en charge. Pour le comportement opposé, voir le ListToStringConverter.
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 une Exception. Cette valeur est utilisée lorsque les options CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters sont définies sur true.
DefaultConvertBackReturnValue
Valeur par défaut à retourner lorsque IValueConverter.ConvertBack(object?, Type, object?, CultureInfo?) lève une Exception. Cette valeur est utilisée lorsque les options CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters sont définies sur true.
Propriétés ICommunityToolkitValueConverter
Les propriétés suivantes sont implémentées dans le public interface ICommunityToolkitValueConverter :
Propriété
Type
Description
DefaultConvertReturnValue
object?
Valeur par défaut à retourner lorsque IValueConverter.Convert(object?, Type, object?, CultureInfo?) lève une Exception. Cette valeur est utilisée lorsque les options CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters sont définies sur true.
DefaultConvertBackReturnValue
object?
Valeur par défaut à retourner lorsque IValueConverter.ConvertBack(object?, Type, object?, CultureInfo?) lève une Exception. Cette valeur est utilisée lorsque les options CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters sont définies 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 :
Le StringToListConverter 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="CommunityToolkit.Maui.Sample.Pages.Converters.StringToListConverterPage">
<ContentPage.Resources>
<ResourceDictionary>
<toolkit:StringToListConverter x:Key="StringToListConverter" SplitOptions="RemoveEmptyEntries">
<toolkit:StringToListConverter.Separators>
<x:String>,</x:String>
<x:String>.</x:String>
<x:String>;</x:String>
</toolkit:StringToListConverter.Separators>
</toolkit:StringToListConverter>
</ResourceDictionary>
</ContentPage.Resources>
<VerticalStackLayout>
<Entry
Placeholder="Enter some text separated by ',' or '.' or ';'"
Text="{Binding MyValue}" />
<CollectionView ItemsSource="{Binding MyValue, Converter={StaticResource StringToListConverter}}">
<CollectionView.ItemTemplate>
<DataTemplate>
<Label Text="{Binding .}" />
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
</VerticalStackLayout>
</ContentPage>
C#
Le StringToListConverter peut être utilisé de la manière suivante dans C# :
class StringToListConverterPage : ContentPage
{
public StringToListConverterPage()
{
var entry = new Entry { Placeholder = "Enter some text separated by ',' or '.' or ';'" };
entry.SetBinding(Entry.TextProperty, new Binding(static (ViewModel vm) => vm.MyValue));
var stringToListConverter = new StringToListConverter
{
SplitOptions = System.StringSplitOptions.RemoveEmptyEntries,
Separators = new [] { ",", ".", ";" }
};
var collectionView = new CollectionView
{
ItemTemplate = new DataTemplate(() =>
{
var itemLabel = new Label();
itemLabel.SetBinding(Label.TextProperty, path: ".");
return itemLabel;
})
};
collectionView.SetBinding(
CollectionView.ItemsSourceProperty,
new Binding(
static (ViewModel vm) => vm.MyValue,
converter: stringToListConverter));
Content = new VerticalStackLayout
{
Children =
{
entry,
collectionView
}
};
}
}
Balisage C#
Notre package CommunityToolkit.Maui.Markup offre une manière beaucoup plus concise d’utiliser ce convertisseur en C#.
using CommunityToolkit.Maui.Markup;
class StringToListConverterPage : ContentPage
{
public StringToListConverterPage()
{
Content = new VerticalStackLayout
{
Children =
{
new Entry { Placeholder = "Enter some text separated by ',' or '.' or ';'" }
.Bind(
Entry.TextProperty,
static (ViewModel vm) => vm.MyValue),
new CollectionView
{
ItemTemplate = new DataTemplate(() => new Label().Bind(Label.TextProperty, path: Binding.SelfPath))
}.Bind(
CollectionView.ItemsSourceProperty,
static (ViewModel vm) => vm.MyValue,
converter: new StringToListConverter
{
SplitOptions = System.StringSplitOptions.RemoveEmptyEntries,
Separators = new [] { ",", ".", ";" }
})
}
};
}
}
Propriétés
Propriété
Type
Description
Séparateur
string
La chaîne qui délimite les sous-chaînes de la chaîne entrante. Cette valeur est remplacée par ConverterParameter et Separators. Si ConverterParameter est null et que Separators est vide, cette valeur sera utilisée.
Séparateurs
IList<string>
Les chaînes qui délimitent les sous-chaînes de la chaîne entrante. Cette valeur est remplacée par ConverterParameter. Si ConverterParameter est null, cette valeur sera utilisée.
SplitOptions
StringSplitOptions
Combinaison au niveau du bit de valeurs d’énumération qui spécifie s’il faut supprimer les sous-chaînes et inclure les sous-chaînes vides.
La source de ce contenu se trouve sur GitHub, où vous pouvez également créer et examiner les problèmes et les demandes de tirage. Pour plus d’informations, consultez notre guide du contributeur.
Commentaires sur .NET MAUI Community Toolkit
.NET MAUI Community Toolkit est un projet open source. Sélectionnez un lien pour fournir des commentaires :
Créer une interface utilisateur avec la liaison de données. Votre interface utilisateur est automatiquement mise à jour en fonction des données les plus récentes, tandis que les données sont mises à jour suite aux modifications apportées à l’interface utilisateur.