Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
MultiMathExpressionConverter
adalah pengonversi yang memungkinkan pengguna untuk melakukan berbagai operasi matematika dengan beberapa nilai melalui menggunakan MultiBinding
.
Convert
menghitung string ekspresi yang ditentukan dalam ConverterParameter
dengan beberapa variabel dan mengembalikan hasil double
.
Nilai yang diteruskan ke konverter akan diberi nama x?
di mana ? adalah urutan di mana ia didefinisikan dalam MultiBinding
, nama variabel lain dalam ekspresi akan diabaikan. Misalnya untuk mengekspresikan perhitungan P = V * I
(daya = volt * amp) berikut dapat ditulis:
<Label.Text>
<MultiBinding Converter="{StaticResource MultiMathExpressionConverter}" ConverterParameter="x0 * x1">
<Binding Path="Volts" />
<Binding Path="Amps" />
</MultiBinding>
</Label.Text>
Sintaksis
Contoh berikut menunjukkan cara menambahkan Label
yang akan menunjukkan hasil x0 + x1 + x2
di mana x
nilai akan disediakan dalam urutan MultiBinding
definisi.
XAML
Menyertakan ruang nama XAML
Untuk menggunakan toolkit di XAML, xmlns
berikut perlu ditambahkan ke halaman atau tampilan Anda:
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
Oleh karena itu hal-hal berikut:
<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>
Akan dimodifikasi untuk menyertakan xmlns
sebagai berikut:
<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>
Menggunakan Pengonversi Ekspresi Matematika Multi
MultiMathExpressionConverter
dapat digunakan sebagai berikut dalam 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#
MultiMathExpressionConverter
dapat digunakan sebagai berikut di 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# Markup
Paket CommunityToolkit.Maui.Markup
kami menyediakan cara yang jauh lebih ringkas untuk menggunakan pengonversi ini di C#.
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");
}
}
Operasi yang didukung
Operasi berikut ini didukung:
"+"
"-"
"*"
"/"
"%"
-
"?"
":"
"=="
"!="
"!"
-
"or"
atau"||"
-
"and"
atau"&&"
jika Anda ingin menggunakan ini di XAML, Anda harus menghindari karakter (misalnya"&&"
) -
"ge"
atau">="
jika Anda ingin menggunakan ini di XAML, Anda harus menghindari karakter (misalnya">="
) -
"gt"
atau">"
jika Anda ingin menggunakan ini di XAML, Anda harus menghindari karakter (misalnya">"
) -
"le"
atau"<="
jika Anda ingin menggunakan ini di XAML, Anda harus menghindari karakter (misalnya"<="
) -
"lt"
atau"<"
jika Anda ingin menggunakan ini di XAML, Anda harus menghindari karakter (misalnya"<"
) "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"
Contoh
Anda dapat menemukan contoh pengonversi ini dalam tindakan di aplikasi sampel .NET MAUI Community Toolkit.
Antarmuka Pemrograman Aplikasi (API)
Anda dapat menemukan kode sumber untuk MultiMathExpressionConverter
di repositori GitHub .NET MAUI Community Toolkit.
.NET MAUI Community Toolkit