IsInRangeConverter
IsInRangeConverter
ist ein unidirektionaler Konverter, der einen eingehenden Wert annimmt, der IComparable
implementiert, und das Ergebnis zurückgibt, wenn der Wert zwischen dem Minimal- und Maximalwert liegt. Das Ergebnis wird standardmäßig auf eine bool
festgelegt, wenn keine Objekte über die Eigenschaften TrueObject
und/oder FalseObject
angegeben wurden. Wenn den Eigenschaften TrueObject
und FalseObject
Werte zugewiesen sind, gibt der IsInRangeConverter das zugeordnete Objekt zurück.
Hinweis
Beachten Sie, dass entweder beideTrueObject
und FalseObject
einen definierten Wert haben sollten oder keine.
Die Methode ConvertBack
wird nicht unterstützt.
BaseConverter-Eigenschaften
Die folgenden Eigenschaften werden in der Basisklasse public abstract class BaseConverter
implementiert:
Eigenschaft | Beschreibung |
---|---|
DefaultConvertReturnValue |
Standardwert, der zurückgegeben werden soll, wenn IValueConverter.Convert(object?, Type, object?, CultureInfo?) eine Exception auslöst. Dieser Wert wird verwendet, wenn CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters auf true festgelegt ist. |
DefaultConvertBackReturnValue |
Standardwert, der zurückgegeben werden soll, wenn IValueConverter.ConvertBack(object?, Type, object?, CultureInfo?) eine Exception auslöst. Dieser Wert wird verwendet, wenn CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters auf true festgelegt ist. |
ICommunityToolkitValueConverter-Eigenschaften
Die folgenden Eigenschaften werden im public interface ICommunityToolkitValueConverter
implementiert:
Eigenschaft | Typ | Beschreibung |
---|---|---|
DefaultConvertReturnValue |
object? |
Standardwert, der zurückgegeben werden soll, wenn IValueConverter.Convert(object?, Type, object?, CultureInfo?) eine Exception auslöst. Dieser Wert wird verwendet, wenn CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters auf true festgelegt ist. |
DefaultConvertBackReturnValue |
object? |
Standardwert, der zurückgegeben werden soll, wenn IValueConverter.ConvertBack(object?, Type, object?, CultureInfo?) eine Exception auslöst. Dieser Wert wird verwendet, wenn CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters auf true festgelegt ist. |
Syntax
XAML
Einbinden des XAML-Namespace
Um das Toolkit in XAML verwenden zu können, muss der folgende xmlns
-Abschnitt zu Ihrer Seite oder Ansicht hinzugefügt werden:
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
Der folgende Abschnitt:
<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>
Würde dann geändert werden, um xmlns
einzubinden:
<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>
Verwenden des IsInRangeConverter
IsInRangeConverter
kann wie folgt in XAML verwendet werden:
<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.IsInRangeConverterPage">
<ResourceDictionary>
<x:String x:Key="MinValue">Hello</x:String>
<x:String x:Key="MaxValue">World</x:String>
<Color x:Key="TrueColor">Green</Color>
<Color x:Key="FalseColor">Red</Color>
</ResourceDictionary>
<Label BackgroundColor="{Binding MyValue, Converter={toolkit:IsInRangeConverter TrueObject={StaticResource TrueColor}, FalseObject={StaticResource FalseColor}, MinValue={StaticResource MinValue}, MaxValue={StaticResource MaxValue}}}" Text="The background of this label will be green if MyValue is between 'Hello' and 'World', otherwise red." />
</ContentPage>
C#
IsInRangeConverter
kann wie folgt in C# verwendet werden:
class IsInRangeConverterPage : ContentPage
{
public IsInRangeConverterPage()
{
Content = new Label()
.Text("The background of this label will be green if MyValue is between 'Hello' and 'World', otherwise red.")
.Bind(
Label.BackgroundColorProperty,
static (ViewModel vm) => vm.MyValue,
converter: new IsInRangeConverter
{
TrueObject = Colors.Green,
FalseObject = Colors.Red,
MinValue = "Hello",
MaxValue = "World"
});
}
}
Eigenschaften
Eigenschaft | Typ | BESCHREIBUNG |
---|---|---|
MinValue | IComparable |
Der minimale Wert für den Umfang des Vergleichs. |
MaxValue | IComparable |
Der maximale Wert für den Umfang des Vergleichs. |
FalseObject | object |
Das Ergebnis, das zurückgegeben werden soll, wenn der Vergleich zu einem false -Vergleich führt. |
TrueObject | object |
Das Ergebnis, das zurückgegeben werden soll, wenn der Vergleich zu einem true -Vergleich führt. |
Beispiele
Ein Beispiel für diesen Konverter in Aktion finden Sie in der Beispielanwendung für das .NET MAUI Community Toolkit.
API
Sie finden den Quellcode für IsInRangeConverter
über das GitHub-Repository für das .NET MAUI Community Toolkit.
.NET MAUI Community Toolkit