Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
.NET Multi-platform App UI (.NET MAUI)-Datenbindungen übertragen in der Regel Daten aus einer Quelleigenschaft in eine Zieleigenschaft und in einigen Fällen von der Zieleigenschaft in die Quelleigenschaft. Diese Übertragung ist einfach, wenn die Quell- und Zieleigenschaften denselben Typ aufweisen oder wenn ein Typ über eine implizite Konvertierung in den anderen Typ konvertiert werden kann. Wenn dies nicht der Fall ist, muss eine Typkonvertierung erfolgen.
Weitere Informationen zu Konvertern finden Sie in der .NET MAUI-Dokumentation.
.NET MAUI Community Toolkit-Konverter
Das .NET MAUI Community Toolkit bietet eine Sammlung vordefinierter wiederverwendbarer Konverter, um Entwicklern das Leben zu erleichtern. Hier sind die vom Toolkit bereitgestellten Konverter:
Converter | BESCHREIBUNG |
---|---|
BoolToObjectConverter |
Dies BoolToObjectConverter ist ein Konverter, mit dem Benutzer eine bool Wertbindung in ein bestimmtes Objekt konvertieren können. |
ByteArrayToImageSourceConverter |
Der ByteArrayToImageSourceConverter ist ein Konverter, der es dem Benutzer ermöglicht, einen eingehenden Wert aus einem byte -Array zu konvertieren und einen ImageSource zurückzugeben. |
ColorToBlackOrWhiteConverter |
Der ColorToBlackOrWhiteConverter ist ein unidirektionaler Konverter, mit dem Benutzer einen eingehenden Color -Wert in einen monochromen Wert von Colors.Black oder Colors.White konvertieren können. |
ColorToByteAlphaConverter |
Dies ColorToByteAlphaConverter ist ein unidirektionaler Konverter, mit dem Benutzer einen eingehenden Color Wert in die Alphakomponente als Wert zwischen 0 und 255 konvertieren können. |
ColorToByteBlueConverter |
Der ColorToByteBlueConverter ist ein unidirektionaler Konverter, mit dem Benutzer ein eingehendes Color in die Blaue Komponente als Wert zwischen 0 und 255 konvertieren können. |
ColorToByteGreenConverter |
Der ColorToByteGreenConverter ist ein unidirektionaler Konverter, mit dem Benutzer einen eingehenden Color in die grüne Komponente als Wert zwischen 0 und 255 umwandeln können. |
ColorToByteRedConverter |
Der ColorToByteRedConverter ist ein unidirektionaler Konverter, mit dem Benutzer einen eingehenden Color auf die rote Komponente als einen Wert zwischen 0 und 255 umwandeln können. |
ColorToCmykStringConverter |
Der ColorToCmykStringConverter ist ein unidirektionaler Konverter, mit dem Benutzer eine Color -Wertbindung in das CMYK-Äquivalent string konvertieren können. |
ColorToCmykaStringConverter |
ColorToCmykaStringConverter ist ein unidirektionaler Konverter, mit dem Benutzer eine Color -Wertbindung in ihr CMYKA-Äquivalent string konvertieren können. |
ColorToColorForTextConverter |
Der ColorToColorForTextConverter ist ein unidirektionaler Konverter, der es Benutzern ermöglicht, einen eingehenden Color -Wert in einen monochromen Wert von entweder Colors.Black oder Colors.White zu konvertieren, basierend darauf, ob er als dunkel für das menschliche Auge wahrgenommen wird. |
ColorToDegreeHueConverter |
ColorToDegreeHueConverter ist ein unidirektionaler Konverter, mit dem Benutzer einen eingehenden Color -Wert in die Farbton-Komponente als Wert zwischen 0 und 360 konvertieren können. |
ColorToGrayScaleColorConverter |
Dieser ColorToGrayScaleColorConverter ist ein unidirektionaler Umwandler, mit dem Benutzer einen eingehenden Color in ein Graustufen-Color konvertieren können. |
ColorToHexRgbStringConverter |
Dieser ColorToHexRgbStringConverter ist ein Konverter, mit dem Benutzer eine Color Wertbindung in die RGB-Hexadezimalentsprechung string konvertieren können. |
ColorToHexRgbaStringConverter |
Dies ColorToHexRgbaStringConverter ist ein Konverter, mit dem Benutzer eine Color Wertbindung in seine RGBA-Hexadezimalentsprechung string konvertieren können. |
ColorToHslStringConverter |
Dieser ColorToHslStringConverter ist ein einseitiger Konverter, der Benutzern ermöglicht, eine Color Wertbindung in ihr HSL-Äquivalent string umzuwandeln. |
ColorToHslaStringConverter |
Der ColorToHslaStringConverter ist ein unidirektionaler Konverter, mit dem Benutzer eine Color -Wertbindung in ihre HSLA-Äquivalente string konvertieren können. |
ColorToInverseColorConverter |
Der ColorToInverseColorConverter ist ein Einweg-Konverter, mit dem Benutzer ein eingehendes Color in sein Inverses konvertieren können. |
ColorToPercentBlackKeyConverter |
Der ColorToPercentBlackKeyConverter ist ein einseitiger Konverter, mit dem Benutzer einen eingehenden Color in die Schlüsselkomponente als Wert zwischen 0 und 1 konvertieren können. |
ColorToPercentCyanConverter |
Der ColorToPercentCyanConverter ist ein unidirektionaler Konverter, mit dem Benutzer einen eingehenden Color in die Cyan-Komponente als Wert zwischen 0 und 1 konvertieren können. |
ColorToPercentMagentaConverter |
ColorToPercentMagentaConverter ist ein unidirektionaler Konverter, mit dem Benutzer einen eingehenden Color -Wert in die Magenta-Komponente als Wert zwischen 0 und 1 konvertieren können. |
ColorToPercentYellowConverter |
Dieser ColorToPercentYellowConverter ist ein unidirektionaler Konverter, der es Benutzern ermöglicht, einen eingehenden Color in die gelbe Komponente als Wert zwischen 0 und 1 umzuwandeln. |
ColorToRgbStringConverter |
Dies ColorToRgbStringConverter ist ein Konverter, mit dem Benutzer eine Color Wertbindung in ihr RGB-Äquivalent string konvertieren können. |
ColorToRgbaStringConverter |
Dieser ColorToRgbaStringConverter ist ein unidirektionaler Konverter, mit dem Benutzer eine Color Wertbindung in ihre RGBA-Entsprechung string konvertieren können. |
CompareConverter |
Der CompareConverter ist ein unidirektionaler Konverter, der einen eingehenden Wert, der IComparable implementiert, mit einem angegebenen Wert vergleicht und das Vergleichsergebnis zurückgibt. |
DateTimeOffsetConverter |
Das DateTimeOffsetConverter ist ein Konverter, der es Benutzern ermöglicht, ein DateTimeOffset in ein DateTime zu konvertieren. |
DoubleToIntConverter |
Dies DoubleToIntConverter ist ein Konverter, mit dem Benutzer einen eingehenden double Wert in einen int und umgekehrt konvertieren können. Optional kann der Benutzer einen Multiplikator für die Konvertierung über die Eigenschaft Ratio bereitstellen. |
EnumToBoolConverter |
Dieser EnumToBoolConverter ist ein unidirektionaler Konverter, mit dem Sie ein Enum in ein entsprechendes bool umwandeln können, basierend darauf, ob es einer Gruppe von angegebenen Enumerationswerten entspricht. Es ist nützlich, wenn eine Auflistung von Werten gebunden wird, die einen Enumerationstyp an eine boolesche Steuerelementeigenschaft wie die IsVisible Eigenschaft darstellen. |
EnumToIntConverter |
EnumToIntConverter ist ein Konverter, mit dem Sie einen Standardwert Enum (Erweiterung int) in seinen einfachen int -Wert konvertieren können. Es ist nützlich, wenn man eine Auflistung von Werten, die einen Enumerationstyp mit einer Standardnummerierung darstellen, an ein Steuerelement wie z. B. ein Picker bindet. |
ImageResourceConverter |
ImageResourceConverter ist ein Konverter, der eingebettete Bildressourcen-ID in seine ImageSource konvertiert. |
IndexToArrayItemConverter |
Dies IndexToArrayItemConverter ist ein Konverter, mit dem Benutzer eine int Wertbindung in ein Element in einem Array konvertieren können. Der int Wert, der datengebunden ist, stellt den Indexer dar, der für den Zugriff auf das Array verwendet wird. Das Array wird über den ConverterParameter übergeben. |
IntToBoolConverter |
Dies IntToBoolConverter ist ein Konverter, mit dem Benutzer einen eingehenden int Wert in einen bool und umgekehrt konvertieren können. |
InvertedBoolConverter |
Dieser InvertedBoolConverter ist ein Konverter, der es Benutzern ermöglicht, ein bool in sein Inverses umzuwandeln - true wird zu false und umgekehrt. |
IsEqualConverter |
IsEqualConverter ist ein unidirektionaler Konverter, der einen bool -Wert zurückgibt, der angibt, ob der Bindungswert einem anderen angegebenen Wert entspricht. |
IsInRangeConverter |
Der IsInRangeConverter ist ein unidirektionaler Konverter, der einen eingehenden Wert, der IComparable implementiert, sowie einen Minimal- und Maximalwert annimmt und das Ergebnis zurückgibt, ob der Wert zwischen dem Minimal- und dem Maximalwert liegt. |
IsListNotNullOrEmptyConverter |
Dieser IsListNotNullOrEmptyConverter ist ein unidirektionaler Konverter, der IEnumerable in einen bool -Wert umwandelt. |
IsListNullOrEmptyConverter |
Der IsListNullOrEmptyConverter ist ein unidirektionaler Konverter für IEnumerable , der IEnumerable in einen bool -Wert umwandelt. |
IsNotEqualConverter |
IsNotEqualConverter ist ein unidirektionaler Konverter, der einen bool -Wert zurückgibt, der angibt, ob der Bindungswert einem anderen angegebenen Wert entspricht. |
IsNullConverter |
Dies IsNullConverter ist ein Konverter, mit dem Benutzer eine eingehende Bindung in einen bool Wert konvertieren können. Dieser Wert stellt dar, ob der Wert der eingehenden Bindung null ist. |
IsNotNullConverter |
Dies IsNotNullConverter ist ein Konverter, mit dem Benutzer eine eingehende Bindung in einen bool Wert konvertieren können. Dieser Wert stellt dar, wenn der Wert der eingehenden Bindung nicht NULL ist. |
IsStringNotNullOrEmptyConverter |
IsStringNotNullOrEmptyConverter ist ein unidirektionaler Konverter, der einen bool -Wert zurückgibt, der angibt, ob der Bindungswert nicht null und kein string.Empty ist. |
IsStringNotNullOrWhiteSpaceConverter |
Dieser IsStringNotNullOrWhiteSpaceConverter ist ein unidirektionaler Konverter, der ein bool zurückgibt, das angibt, ob der Bindungswert nicht null ist, nicht string.Empty und nicht nur Leerzeichen enthält. |
IsStringNullOrEmptyConverter |
IsStringNullOrEmptyConverter ist ein unidirektionaler Konverter, der einen bool -Wert zurückgibt, der angibt, ob der Bindungswert null oder string.Empty ist. |
IsStringNullOrWhiteSpaceConverter |
Der IsStringNullOrWhiteSpaceConverter ist ein unidirektionaler Konverter, der ein bool zurückgibt und angibt, ob der Bindungswert null ist, string.Empty oder nur Leerzeichen enthält. |
ItemTappedEventArgsConverter |
Dies ItemTappedEventArgsConverter ist ein Konverter, mit dem Benutzer den Item-Wert aus einem ItemTappedEventArgs Objekt extrahieren können. Es kann anschließend in Kombination mit EventToCommandBehavior verwendet werden. |
ListToStringConverter |
ListToStringConverter ist ein unidirektionaler Konverter, der eine Verkettung der Elemente einer Auflistung mithilfe des angegebenen Trennzeichens zwischen den einzelnen Elementen zurückgibt. |
MathExpressionConverter |
Die MathExpressionConverter ist ein Konverter, mit dem Benutzer verschiedene mathematische Vorgänge ausführen können. |
MultiConverter |
MultiConverter konvertiert einen eingehenden Wert mit allen eingehenden Konvertern in Sequenz. |
MultiMathExpressionConverter |
Dieser MultiMathExpressionConverter ist ein Konverter, mit dem Benutzer verschiedene mathematische Vorgänge mit mehreren Werten durch die Verwendung einer MultiBinding durchführen können. |
SelectedItemEventArgsConverter |
Dies SelectedItemEventArgsConverter ist ein Konverter, mit dem Benutzer den Item-Wert aus einem SelectedItemEventArgs Objekt extrahieren können. Es kann anschließend in Kombination mit EventToCommandBehavior verwendet werden. |
StateToBoolConverter |
Der StateToBoolConverter ist ein unidirektionaler Konverter, der ein boolean -Ergebnis basierend darauf zurückgibt, ob der angegebene Wert eines bestimmten LayoutState ist. |
StringToListConverter |
Der StringToListConverter ist ein unidirektionaler Konverter, der eine Reihe von Teilzeichenfolgen zurückgibt, indem er die Eingabezeichenfolge anhand eines oder mehrerer Trennzeichen aufteilt. |
TextCaseConverter |
TextCaseConverter ist ein unidirektionaler Konverter, mit dem Benutzer die Groß-/Kleinschreibung einer eingehenden string -Typbindung konvertieren können. Die Type -Eigenschaft wird verwendet, um zu definieren, welche Art von Groß-/Kleinschreibung auf die Zeichenfolge angewendet wird. |
VariableMultiValueConverter |
Das VariableMultiValueConverter ist ein Konverter, mit dem Benutzer bool Werte über einen MultiBinding in einen einzelnen bool konvertieren können. |
Erstellen eines .NET MAUI Community Toolkit Converters
Das .NET MAUI Community Toolkit bietet typsichere Implementierungen der von .NET MAUI bereitgestellten IValueConverter
-Schnittstelle. Dies erleichtert es Entwicklern, präzisere, typsichere Konverter zu schreiben. Das Toolkit bietet die folgenden Optionen:
Bidirektionale Konverter
Die BaseConverter
Klasse bietet Entwicklern die Möglichkeit, den Typ des eingehenden Werts und auch den Ausgehenden Werttyp für eine IValueConverter
Implementierung zu definieren, die eine bidirektionale Bindung unterstützt. Das folgende Beispiel zeigt, wie Sie einen Konverter erstellen, der einen bool
Wert in Colors.Green
wenn true
und Colors.Red
wenn false
konvertiert.
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;
}
}
Dies DefaultConvertReturnValue
wird von der Basisimplementierung verwendet und zurückgegeben, wenn eine Ausnahme innerhalb der ConvertFrom
Methode ausgelöst wird.
Dies DefaultConvertBackReturnValue
wird von der Basisimplementierung verwendet und zurückgegeben, wenn eine Ausnahme innerhalb der ConvertBackTo
Methode ausgelöst wird.
Warnung
Der Konverter löst ein ArgumentException
aus, wenn entweder die eingehenden oder ausgehenden Werte nicht vom erwarteten Typ sind. Das Auslösen von Ausnahmen kann durch Festlegen von CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters
auf false
deaktiviert werden.
Unidirektionale Konverter
Die BaseConverterOneWay
Klasse bietet Entwicklern die Möglichkeit, den Typ des eingehenden Werts und auch den ausgehenden Werttyp für eine IValueConverter
Implementierung zu definieren, die eine unidirektionale Bindung unterstützt. Das folgende Beispiel zeigt, wie Sie einen Konverter erstellen, der einen bool
Wert in Colors.Green
wenn true
und Colors.Red
wenn false
konvertiert.
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;
}
}
Dies DefaultConvertReturnValue
wird von der Basisimplementierung verwendet und zurückgegeben, wenn eine Ausnahme innerhalb der ConvertFrom
Methode ausgelöst wird.
Warnung
Der Konverter löst ein ArgumentException
aus, wenn die eingehenden oder ausgehenden Werte nicht vom erwarteten Typ sind. Das Auslösen von Ausnahmen kann durch Festlegen von CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters
auf false
deaktiviert werden.
Der Konverter löst ein NotSupportedException
aus, wenn er in einer bidirektionalen Bindung verwendet wird.
.NET MAUI Community Toolkit