Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Het MultiMathExpressionConverter is een conversieprogramma waarmee gebruikers verschillende wiskundige bewerkingen met meerdere waarden kunnen uitvoeren met behulp van een MultiBinding.
Convert berekent de expressiestring die is gedefinieerd in de ConverterParameter waarin meerdere variabelen voorkomen en retourneert een double resultaat.
De waarden die aan het conversieprogramma worden doorgegeven, krijgen de naam x? waar? is de volgorde waarin deze is gedefinieerd in de MultiBinding; alle andere variabelenamen in de expressie worden genegeerd. Om bijvoorbeeld de berekening van P = V * I (macht = volt * amps) uit te drukken, kan het volgende worden geschreven:
<Label.Text>
<MultiBinding Converter="{StaticResource MultiMathExpressionConverter}" ConverterParameter="x0 * x1">
<Binding Path="Volts" />
<Binding Path="Amps" />
</MultiBinding>
</Label.Text>
Syntax
In de volgende voorbeelden ziet u hoe u een Label waarde toevoegt die het resultaat weergeeft van x0 + x1 + x2 waar de x waarden worden opgegeven in de volgorde van de MultiBinding definities.
XAML
Inclusief de XAML-naamruimte
Als u de toolkit in XAML wilt gebruiken, moet de volgende xmlns worden toegevoegd aan uw pagina of weergave:
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
Daarom volgt het volgende:
<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>
Zou als volgt worden gewijzigd om de xmlns op te nemen:
<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>
MultiMathExpression Converter gebruiken
De MultiMathExpressionConverter kan als volgt worden gebruikt in 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.MultiMathExpressionConverterPage">
<ContentPage.Resources>
<ResourceDictionary>
<toolkit:MultiMathExpressionConverter x:Key="MultiMathExpressionConverter" />
</ResourceDictionary>
</ContentPage.Resources>
<Label HorizontalOptions="Center">
<Label.Text>
<MultiBinding Converter="{StaticResource MultiMathExpressionConverter}" ConverterParameter="x0 + x1 + x2">
<Binding Path="X0" />
<Binding Path="X1" />
<Binding Path="X2" />
</MultiBinding>
</Label.Text>
</Label>
</ContentPage>
C#
De MultiMathExpressionConverter kan als volgt worden gebruikt in C#:
class MultiMathExpressionConverterPage : ContentPage
{
public MultiMathExpressionConverterPage()
{
var label = new Label
{
HorizontalOptions = LayoutOptions.Center
};
label.SetBinding(
Label.TextProperty,
new MultiBinding
{
Converter = new MultiMathExpressionConverter(),
ConverterParameter = "x0 + x1 + x2",
Bindings = new List<BindingBase>
{
new Binding(static (ViewModel vm) => vm.X0),
new Binding(static (ViewModel vm) => vm.X1),
new Binding(static (ViewModel vm) => vm.X2)
}
});
Content = label;
}
}
C#-markeringen
Ons CommunityToolkit.Maui.Markup pakket biedt een veel beknoptere manier om dit conversieprogramma in C# te gebruiken.
class MultiMathExpressionConverterPage : ContentPage
{
public MultiMathExpressionConverterPage()
{
Content = new Label()
.CenterHorizontal()
.Bind(
Label.TextProperty,
new List<BindingBase>
{
new Binding(static (ViewModel vm) => vmX0),
new Binding(static (ViewModel vm) => vmX1),
new Binding(static (ViewModel vm) => vmX2)
},
converter: new MultiMathExpressionConverter(),
converterParameter: "x0 + x1 + x2");
}
}
Ondersteunde bewerkingen
De volgende bewerkingen worden ondersteund:
"+""-""*""/""%"-
"?"":" "==""!=""!"-
"or"of"||" -
"and"of"&&"als u dit in XAML wilt gebruiken, moet u de tekens escapen (bijvoorbeeld"&&") -
"ge"of">="als u dit in XAML wilt gebruiken, moet u de tekens escapen (bijvoorbeeld">=") -
"gt"of">"als u dit in XAML wilt gebruiken, moet u de tekens escapen (bijvoorbeeld">") -
"le"of"<="als u dit in XAML wilt gebruiken, moet u de tekens escapen (bijvoorbeeld"<=") -
"lt"of"<"als u dit in XAML wilt gebruiken, moet u de tekens escapen (bijvoorbeeld"<") "abs""acos""asin""atan""atan2""ceiling""cos""cosh""exp""floor""ieeeremainder""log""log10""max""min""pow""round""sign""sin""sinh""sqrt""tan""tanh""truncate""^""pi""e""true""false"
Examples
U vindt een voorbeeld van dit conversieprogramma in actie in de .NET MAUI Community Toolkit Sample Application.
API
U vindt de broncode voor MultiMathExpressionConverter in de .NET MAUI Community Toolkit GitHub opslagplaats.
.NET MAUI Community Toolkit