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.
Der VariableMultiValueConverter ist ein Konverter, mit dem Benutzer bool-Werte über ein MultiBinding in ein einzelnes bool konvertieren können. Dadurch können sie angeben, ob "All", "Any", "None" oder eine bestimmte Anzahl von Werten wahr sind, wie in ConditionType angegeben.
Die Methode Convert liefert das bereitgestellte values, konvertiert in ein Gesamt-bool-Ergebnis, basierend auf dem definierten ConditionType.
Die ConvertBack-Methode gibt nur dann ein Ergebnis zurück, wenn der ConditionType-Wert auf MultiBindingCondition.All gesetzt ist.
BaseConverter-Eigenschaften
Die folgenden Eigenschaften werden in der Basisklasse implementiert: public abstract class BaseConverter
| Eigentum | Beschreibung |
|---|---|
DefaultConvertReturnValue |
Standardwert, der zurückgegeben werden soll, wenn IValueConverter.Convert(object?, Type, object?, CultureInfo?) eine Exception-Ausnahme 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-Ausnahme auslöst. Dieser Wert wird verwendet, wenn CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters auf true festgelegt ist. |
ICommunityToolkitValueConverter-Eigenschaften
Die folgenden Eigenschaften werden in public interface ICommunityToolkitValueConverter implementiert:
| Eigentum | Typ | Beschreibung |
|---|---|---|
DefaultConvertReturnValue |
object? |
Standardwert, der zurückgegeben werden soll, wenn IValueConverter.Convert(object?, Type, object?, CultureInfo?) eine Exception-Ausnahme 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-Ausnahme auslöst. Dieser Wert wird verwendet, wenn CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters auf true festgelegt ist. |
Syntax
Die folgenden Beispiele zeigen, wie Sie eine Label unsichtbar machen, wenn mindestens 2 der Werte in einer MultiBinding zu „true“ ausgewertet werden.
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"
Daher das Folgende:
<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 geändert werden, um das xmlns wie folgt 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 VariableMultiValueConverter
Dies VariableMultiValueConverter 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.VariableMultiValueConverterPage">
<ContentPage.Resources>
<ResourceDictionary>
<toolkit:VariableMultiValueConverter
x:Key="VariableMultiValueConverter"
ConditionType="LessThan"
Count="2" />
</ResourceDictionary>
</ContentPage.Resources>
<Label Text="At least 2 toppings must be selected.">
<Label.IsVisible>
<MultiBinding Converter="{StaticResource VariableMultiValueConverter}">
<Binding Path="IsCheeseSelected" />
<Binding Path="IsHamSelected" />
<Binding Path="IsPineappleSelected" />
</MultiBinding>
</Label.IsVisible>
</Label>
</ContentPage>
C#
Dies VariableMultiValueConverter kann wie folgt in C# verwendet werden:
class VariableMultiValueConverterPage : ContentPage
{
public VariableMultiValueConverterPage()
{
var label = new Label
{
Text = "At least 2 toppings must be selected."
};
label.SetBinding(
Label.IsVisibleProperty,
new MultiBinding
{
Converter = new VariableMultiValueConverter
{
ConditionType = MultiBindingCondition.LessThan,
Count = 2
},
Bindings = new List<BindingBase>
{
new Binding(static (ViewModel vm) => vm.IsCheeseSelected),
new Binding(static (ViewModel vm) => vmIsHamSelected),
new Binding(static (ViewModel vm) => vmIsPineappleSelected)
}
});
Content = label;
}
}
C#-Markup
Unser CommunityToolkit.Maui.Markup Paket bietet eine viel präzisere Möglichkeit, diesen Konverter in C# zu verwenden.
using CommunityToolkit.Maui.Markup;
class VariableMultiValueConverterPage : ContentPage
{
public VariableMultiValueConverterPage()
{
Content = new Label()
.Text("At least 2 toppings must be selected.")
.Bind(
Label.IsVisibleProperty,
new List<BindingBase>
{
new Binding(static (ViewModel vm) => vm.IsCheeseSelected),
new Binding(static (ViewModel vm) => vm.IsHamSelected),
new Binding(static (ViewModel vm) => vm.IsPineappleSelected)
},
converter: new VariableMultiValueConverter
{
ConditionType = MultiBindingCondition.LessThan,
Count = 2
});
}
}
Eigenschaften
| Eigentum | Typ | Beschreibung |
|---|---|---|
| ConditionType | MultiBindingCondition |
Gibt an, wie viele Werte true aus den bereitgestellten booleschen Werten in der MultiBinding. |
| Count | int |
Die Anzahl der Werte, die bei der Verwendung von ConditionType mit GreaterThan, LessThan oder Exact „wahr“ sein sollten. |
MultiBindingCondition
Die MultiBindingCondition-Aufzählung definiert die folgenden Elemente:
-
None- Keine der Werte sollte wahr sein. -
All- Alle Werte sollten wahr sein. -
Any- Jeder der Werte sollte wahr sein. -
Exact- Die genaue Zahl, die in derCountEigenschaft konfiguriert ist, sollte wahr sein. -
GreaterThan- Größer, dass die in derCountEigenschaft konfigurierte Zahl wahr sein soll. -
LessThan- Kleiner als die in derCountEigenschaft konfigurierte Zahl sollte wahr sein.
Beispiele
Sie finden ein Beispiel für diesen Konverter in Aktion im .NET MAUI Community Toolkit-Beispielanwendung.
API
Sie finden den Quellcode für VariableMultiValueConverter im .NET MAUI Community Toolkit GitHub Repository.
.NET MAUI Community Toolkit