Delen via


.NET MAUI-converters

Gegevensbindingen van .NET Multi-platform App UI (.NET MAUI) dragen meestal gegevens over van een broneigenschap naar een doeleigenschap, en in sommige gevallen van de doeleigenschap naar de broneigenschap. Deze overdracht is eenvoudig wanneer de bron- en doeleigenschappen van hetzelfde type zijn of wanneer één type kan worden geconverteerd naar het andere type via een impliciete conversie. Als dat niet het geval is, moet er een typeconversie plaatsvinden.

Voor meer informatie over conversieprogramma's raadpleegt u de .NET MAUI-documentatie.

.NET MAUI Community Toolkit-converters

De .NET MAUI Community Toolkit biedt een verzameling vooraf gebouwde, herbruikbare conversieprogramma's om ontwikkelaars gemakkelijker te laten leven. Dit zijn de conversieprogramma's die worden geleverd door de toolkit:

Omzetter Beschrijving
BoolToObjectConverter Het BoolToObjectConverter is een conversieprogramma waarmee gebruikers een bool waardebinding kunnen converteren naar een specifiek object.
ByteArrayToImageSourceConverter Het ByteArrayToImageSourceConverter is een converter waarmee de gebruiker een inkomende waarde uit een byte-array kan converteren en een ImageSource kan retourneren.
ColorToBlackOrWhiteConverter Het ColorToBlackOrWhiteConverter is een eenrichtingsconversieprogramma waarmee gebruikers een binnenkomende Color waarde kunnen converteren naar een monochrome waarde van of Colors.WhiteColors.Black .
ColorToByteAlphaConverter Het ColorToByteAlphaConverter is een conversieprogramma in één richting waarmee gebruikers een binnenkomende Color waarde naar het alfa-onderdeel kunnen converteren als een waarde tussen 0 en 255.
ColorToByteBlueConverter Het ColorToByteBlueConverter is een eenrichtingsconversieprogramma waarmee gebruikers een binnenkomende Color waarde naar het blauwe onderdeel kunnen converteren als een waarde tussen 0 en 255.
ColorToByteGreenConverter Het ColorToByteGreenConverter is een eenrichtingsconversieprogramma waarmee gebruikers een binnenkomende Color waarde naar het groene onderdeel kunnen converteren als een waarde tussen 0 en 255.
ColorToByteRedConverter Het ColorToByteRedConverter is een conversieprogramma in één richting waarmee gebruikers een binnenkomende Color waarde naar het rode onderdeel kunnen converteren als een waarde tussen 0 en 255.
ColorToCmykStringConverter Het ColorToCmykStringConverter is een conversieprogramma in één richting waarmee gebruikers een waardebinding kunnen converteren naar het Color CMYK-equivalent string .
ColorToCmykaStringConverter Het ColorToCmykaStringConverter is een conversieprogramma in één richting waarmee gebruikers een waardebinding kunnen converteren naar het Color CMYKA-equivalent string .
ColorToColorForTextConverter Het ColorToColorForTextConverter is een eenrichtingsconverter waarmee gebruikers een binnenkomende Color kunnen omzetten naar een monochrome waarde van Colors.Black of Colors.White, afhankelijk van of het donker wordt beschouwd voor het menselijk oog.
ColorToDegreeHueConverter Het ColorToDegreeHueConverter is een eenrichtingsconversieprogramma waarmee gebruikers een binnenkomende Color waarde naar het hue-onderdeel kunnen converteren als een waarde tussen 0 en 360.
ColorToGrayScaleColorConverter Het ColorToGrayScaleColorConverter is een eenrichtingsconversieprogramma waarmee gebruikers een inkomend Color getal kunnen converteren naar een grijswaarde Color.
ColorToHexRgbStringConverter Het ColorToHexRgbStringConverter is een conversieprogramma waarmee gebruikers een Color waardebinding kunnen converteren naar het RGB-hexadecimale string equivalent.
ColorToHexRgbaStringConverter Het ColorToHexRgbaStringConverter is een conversieprogramma waarmee gebruikers een Color waardebinding kunnen converteren naar het RGBA-hexadecimale string equivalent.
ColorToHslStringConverter Het ColorToHslStringConverter is een conversieprogramma in één richting waarmee gebruikers een waardebinding kunnen converteren naar het Color HSL-equivalent string .
ColorToHslaStringConverter Het ColorToHslaStringConverter is een conversieprogramma in één richting waarmee gebruikers een waardebinding kunnen converteren naar het Color HSLA-equivalent string .
ColorToInverseColorConverter Het ColorToInverseColorConverter is een eenrichtingsconversieprogramma waarmee gebruikers een inkomend Color naar de inverse kunnen converteren.
ColorToPercentBlackKeyConverter Het ColorToPercentBlackKeyConverter is een conversieprogramma in één richting waarmee gebruikers een binnenkomende Color waarde naar het sleutelonderdeel kunnen converteren als een waarde tussen 0 en 1.
ColorToPercentCyanConverter Het ColorToPercentCyanConverter is een conversieprogramma in één richting waarmee gebruikers een binnenkomende Color waarde naar het cyaan-onderdeel kunnen converteren als een waarde tussen 0 en 1.
ColorToPercentMagentaConverter Het ColorToPercentMagentaConverter is een conversieprogramma in één richting waarmee gebruikers een binnenkomende Color waarde naar het magenta-onderdeel kunnen converteren als een waarde tussen 0 en 1.
ColorToPercentYellowConverter Het ColorToPercentYellowConverter is een conversieprogramma in één richting waarmee gebruikers een binnenkomende Color waarde naar het gele onderdeel kunnen converteren als een waarde tussen 0 en 1.
ColorToRgbStringConverter Het ColorToRgbStringConverter is een conversieprogramma waarmee gebruikers een Color waardebinding kunnen converteren naar het RGB-equivalent string .
ColorToRgbaStringConverter Het ColorToRgbaStringConverter is een conversieprogramma in één richting waarmee gebruikers een Color waardebinding kunnen converteren naar het RGBA-equivalent string .
CompareConverter Het CompareConverter is een conversieprogramma in één richting dat een binnenkomende waarde implementeert IComparable, vergelijkt met een opgegeven waarde en retourneert het vergelijkingsresultaat.
DateTimeOffsetConverter Het DateTimeOffsetConverter is een conversieprogramma waarmee gebruikers een DateTimeOffset converteren naar een DateTime
DoubleToIntConverter Het DoubleToIntConverter is een conversieprogramma waarmee gebruikers een binnenkomende double waarde kunnen converteren naar een int en vice versa. De gebruiker kan eventueel een vermenigvuldiger opgeven voor de conversie via de Ratio eigenschap.
EnumToBoolConverter Het EnumToBoolConverter is een conversieprogramma in één richting waarmee u een Enum conversie naar een corresponderend bool conversieprogramma kunt uitvoeren op basis van of deze gelijk is aan een set opgegeven enumwaarden. Het is handig bij het binden van een verzameling waarden die een opsommingstype vertegenwoordigen naar een booleaanse besturingselementeigenschap zoals de IsVisible eigenschap.
EnumToIntConverter Het EnumToIntConverter is een conversieprogramma waarmee u een standaard Enum (uitbreiding int) kunt converteren naar het onderliggende primitieve int type. Het is handig bij het koppelen van een verzameling waarden die een opsommingstype vertegenwoordigen met standaardnummering voor een besturingselement, zoals een Picker.
ImageResourceConverter Het ImageResourceConverter is een conversieprogramma waarmee de ingesloten resource-id van de installatiekopieën wordt geconverteerd naar de bijbehorende ImageSource.
IndexToArrayItemConverter Het IndexToArrayItemConverter is een conversieprogramma waarmee gebruikers een int waardebinding kunnen converteren naar een item in een matrix. De int waarde die gegevensgrens is, vertegenwoordigt de indexeerfunctie die wordt gebruikt voor toegang tot de matrix. De matrix wordt doorgegeven via de ConverterParameter.
IntToBoolConverter Het IntToBoolConverter is een conversieprogramma waarmee gebruikers een binnenkomende int waarde kunnen converteren naar een bool en omgekeerd.
InvertedBoolConverter Het InvertedBoolConverter is een converter waarmee gebruikers een bool naar de inverse kunnen converteren - true wordt false en andersom.
IsEqualConverter Het IsEqualConverter is een eenrichtingsconversieprogramma dat een bool waarde retourneert die aangeeft of de bindingswaarde gelijk is aan een andere opgegeven waarde.
IsInRangeConverter Het IsInRangeConverter is een eenrichtingsconverter die een binnenkomende waarde aanneemt die IComparable implementeert, evenals een minimum- en maximumwaarde, en het resultaat retourneert van de waarde die zich tussen de minimum- en maximumwaarden bevindt.
IsListNotNullOrEmptyConverter Het IsListNotNullOrEmptyConverter is een eenrichtingsconverter die IEnumerable naar een bool waarde converteert.
IsListNullOrEmptyConverter Het IsListNullOrEmptyConverter is een enkelzijdige omzetter die IEnumerable naar een bool waarde omzet.
IsNotEqualConverter Het IsNotEqualConverter is een eenrichtingsconversieprogramma dat een bool waarde retourneert die aangeeft of de bindingswaarde niet gelijk is aan een andere opgegeven waarde.
IsNullConverter Het IsNullConverter is een conversieprogramma waarmee gebruikers een binnenkomende binding kunnen converteren naar een bool waarde. Deze waarde geeft aan of de binnenkomende bindingswaarde null is.
IsNotNullConverter Het IsNotNullConverter is een conversieprogramma waarmee gebruikers een binnenkomende binding kunnen converteren naar een bool waarde. Deze waarde geeft aan of de binnenkomende bindingswaarde niet null is.
IsStringNotNullOrEmptyConverter De IsStringNotNullOrEmptyConverter is een eenrichtingsconverter die een bool teruggeeft, wat aangeeft of de bindingswaarde niet null is en geen string.Empty.
IsStringNotNullOrWhiteSpaceConverter Het IsStringNotNullOrWhiteSpaceConverter is een eenrichtingsconverter die een bool retourneert waarin wordt aangegeven dat de bindingswaarde niet null is, niet een string.Empty is en niet alleen spaties bevat.
IsStringNullOrEmptyConverter Het IsStringNullOrEmptyConverter is een conversieprogramma in één richting dat een bool waarde retourneert die aangeeft of de bindingswaarde null is of string.Empty.
IsStringNullOrWhiteSpaceConverter Het IsStringNullOrWhiteSpaceConverter is een eenrichtingsomzetter die een bool retourneert waarmee wordt aangegeven of de bindingswaarde null is of string.Empty alleen witruimtetekens bevat.
ItemTappedEventArgsConverter Het ItemTappedEventArgsConverter is een conversieprogramma waarmee gebruikers de itemwaarde uit een ItemTappedEventArgs object kunnen extraheren. Het kan vervolgens worden gebruikt in combinatie met EventToCommandBehavior.
ListToStringConverter Het ListToStringConverter is een eenrichtingsconversieprogramma dat een samenvoeging van de leden van een verzameling retourneert, met behulp van het opgegeven scheidingsteken tussen elk lid.
MathExpressionConverter Het MathExpressionConverter is een conversieprogramma waarmee gebruikers verschillende wiskundige bewerkingen kunnen uitvoeren.
MultiConverter Hiermee MultiConverter wordt een binnenkomende waarde geconverteerd met behulp van alle binnenkomende conversieprogramma's op volgorde.
MultiMathExpressionConverter Het MultiMathExpressionConverter is een conversieprogramma waarmee gebruikers verschillende wiskundige bewerkingen met meerdere waarden kunnen uitvoeren met behulp van een MultiBinding.
SelectedItemEventArgsConverter Het SelectedItemEventArgsConverter is een conversieprogramma waarmee gebruikers de itemwaarde uit een SelectedItemEventArgs object kunnen extraheren. Het kan vervolgens worden gebruikt in combinatie met EventToCommandBehavior.
StateToBoolConverter Het StateToBoolConverter is een eenrichtingsconversieprogramma dat een boolean resultaat retourneert op basis van of de opgegeven waarde van een specifieke LayoutStatewaarde is.
StringToListConverter Het StringToListConverter is een conversieprogramma in één richting dat een set subtekenreeksen retourneert door de invoertekenreeks te splitsen op basis van een of meer scheidingstekens.
TextCaseConverter Het TextCaseConverter is een eenrichtingsconversieprogramma waarmee gebruikers de behuizing van een binnenkomende string typebinding kunnen converteren. De Type eigenschap wordt gebruikt om te definiëren welk type behuizing wordt toegepast op de tekenreeks.
VariableMultiValueConverter Het VariableMultiValueConverter is een conversieprogramma waarmee gebruikers bool-waarden kunnen converteren via een MultiBinding naar een enkele bool.

Een .NET MAUI Community Toolkit Converter maken

De .NET MAUI Community Toolkit biedt typeveilige implementaties van de IValueConverter interface van .NET MAUI, waardoor ontwikkelaars eenvoudiger beknopte, typeveilige conversieprogramma's kunnen schrijven. De toolkit biedt de volgende opties

Tweerichtingsomvormer

De BaseConverter klasse biedt ontwikkelaars de mogelijkheid om het binnenkomende waardetype en het uitgaande waardetype te definiëren voor een IValueConverter implementatie die ondersteuning biedt voor een binding in twee richtingen. In het volgende voorbeeld ziet u hoe u een conversieprogramma maakt waarmee een bool waarde wordt geconverteerd naar Colors.Green if true en Colors.Red if false.

public class BoolToColorConverter : BaseConverter<bool, Color>
{
    public override Color DefaultConvertReturnValue { get; set; } = Colors.Orange;

    public override bool DefaultConvertBackReturnValue { get; set; } = false;

    public override string ConvertFrom(bool value, CultureInfo? culture)
    {
        return value ? Colors.Green : Colors.Red;
    }

    public override int ConvertBackTo(Color value, CultureInfo? culture)
    {
        return value == Colors.Green;
    }
}

De DefaultConvertReturnValue wordt gebruikt door de basis-implementatie en geretourneerd als er een uitzondering in de ConvertFrom methode wordt gegenereerd.

De DefaultConvertBackReturnValue wordt gebruikt door de basis-implementatie en geretourneerd als er een uitzondering in de ConvertBackTo methode wordt gegenereerd.

Waarschuwing

Het conversieprogramma genereert een ArgumentException als de binnenkomende of uitgaande waarden niet van het verwachte type zijn. Het genereren van uitzonderingen kan worden uitgeschakeld door CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters in te stellen op false.

één-weg converter

De BaseConverterOneWay klasse biedt ontwikkelaars de mogelijkheid om het binnenkomende waardetype en het uitgaande waardetype te definiëren voor een IValueConverter implementatie die ondersteuning biedt voor een eenrichtingsbinding. In het volgende voorbeeld ziet u hoe u een conversieprogramma maakt waarmee een bool waarde wordt geconverteerd naar Colors.Green if true en Colors.Red if false.

public class BoolToColorConverter : BaseConverterOneWay<bool, Color>
{
    public override Color DefaultConvertReturnValue { get; set; } = Colors.Orange

    public override string ConvertFrom(bool value, CultureInfo? culture)
    {
        return value ? Colors.Green : Colors.Red;
    }
}

De DefaultConvertReturnValue wordt gebruikt door de basis-implementatie en geretourneerd als er een uitzondering in de ConvertFrom methode wordt gegenereerd.

Waarschuwing

Het conversieprogramma genereert een ArgumentException als de binnenkomende of uitgaande waarden niet van het verwachte type zijn. Het genereren van uitzonderingen kan worden uitgeschakeld door CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters in te stellen op false. Het conversieprogramma genereert een NotSupportedException als deze wordt gebruikt in een binding in twee richtingen.