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.
NumericValidationBehavior adalah Behavior yang memungkinkan pengguna untuk menentukan apakah input teks adalah nilai numerik yang valid. Misalnya, Entry kontrol dapat ditata secara berbeda tergantung pada apakah input numerik yang valid atau tidak valid disediakan.
Penting
Perilaku Toolkit Komunitas .NET MAUI tidak mengatur BindingContext perilaku, karena perilaku dapat dibagikan dan diterapkan ke beberapa kontrol melalui gaya. Untuk informasi selengkapnya, lihat Perilaku MAUI .NET
Sintaks
Contoh berikut menunjukkan cara menambahkan NumericValidationBehavior ke Entry dan mengubah TextColor kapan angka yang dimasukkan dianggap tidak valid (bukan antara 1 dan 100).
XAML
Menyertakan namespace XAML
Untuk menggunakan toolkit di XAML, hal berikut xmlns 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 NumericValidationBehavior
NumericValidationBehavior 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.Behaviors.NumericValidationBehaviorPage">
<ContentPage.Resources>
<Style x:Key="InvalidEntryStyle" TargetType="Entry">
<Setter Property="TextColor" Value="Red" />
</Style>
<Style x:Key="ValidEntryStyle" TargetType="Entry">
<Setter Property="TextColor" Value="Green" />
</Style>
</ContentPage.Resources>
<Entry Keyboard="Numeric">
<Entry.Behaviors>
<toolkit:NumericValidationBehavior
InvalidStyle="{StaticResource InvalidEntryStyle}"
ValidStyle="{StaticResource ValidEntryStyle}"
Flags="ValidateOnValueChanged"
MinimumValue="1.0"
MaximumValue="100.0"
MaximumDecimalPlaces="2" />
</Entry.Behaviors>
</Entry>
</ContentPage>
C#
NumericValidationBehavior dapat digunakan sebagai berikut di C#:
class NumericValidationBehaviorPage : ContentPage
{
public NumericValidationBehaviorPage()
{
var entry = new Entry
{
Keyboard = Keyboard.Numeric
};
var validStyle = new Style(typeof(Entry));
validStyle.Setters.Add(new Setter
{
Property = Entry.TextColorProperty,
Value = Colors.Green
});
var invalidStyle = new Style(typeof(Entry));
invalidStyle.Setters.Add(new Setter
{
Property = Entry.TextColorProperty,
Value = Colors.Red
});
var numericValidationBehavior = new NumericValidationBehavior
{
InvalidStyle = invalidStyle,
ValidStyle = validStyle,
Flags = ValidationFlags.ValidateOnValueChanged,
MinimumValue = 1.0,
MaximumValue = 100.0,
MaximumDecimalPlaces = 2
};
entry.Behaviors.Add(numericValidationBehavior);
Content = entry;
}
}
C# Markup
Paket kami CommunityToolkit.Maui.Markup menyediakan cara yang jauh lebih ringkas untuk menggunakan ini Behavior di C#.
using CommunityToolkit.Maui.Markup;
class NumericValidationBehaviorPage : ContentPage
{
public NumericValidationBehaviorPage()
{
Content = new Entry
{
Keyboard = Keyboard.Numeric
}.Behaviors(new NumericValidationBehavior
{
InvalidStyle = new Style<Entry>(Entry.TextColorProperty, Colors.Red),
ValidStyle = new Style<Entry>(Entry.TextColorProperty, Colors.Green),
Flags = ValidationFlags.ValidateOnValueChanged,
MinimumValue = 1.0,
MaximumValue = 100.0,
MaximumDecimalPlaces = 2
});
}
}
Properti
| Properti | Tipe | Deskripsi |
|---|---|---|
MaximumDecimalPlaces |
double |
Jumlah maksimum tempat desimal yang akan diizinkan. |
MinimumDecimalPlaces |
double |
Jumlah minimum tempat desimal yang akan diizinkan. |
MaximumValue |
double |
Nilai numerik maksimum yang akan diizinkan. |
MinimumValue |
double |
Nilai numerik minimum yang akan diizinkan. |
Properti ValidasiBehavior
Properti berikut diimplementasikan di kelas dasar, public abstract class ValidationBehavior:
| Properti | Tipe | Deskripsi |
|---|---|---|
Flags |
ValidationFlags |
Menyediakan nilai enumerasi yang menentukan cara menangani validasi. |
ForceValidateCommand |
ICommand |
Memungkinkan pengguna untuk memberikan kustom ICommand yang menangani validasi paksa. |
InvalidStyle |
Style |
untuk Style diterapkan ke elemen ketika validasi gagal. |
IsNotValid |
bool |
Menunjukkan apakah nilai saat ini dianggap tidak valid atau tidak. |
IsRunning |
bool |
Menunjukkan apakah validasi sedang berlangsung atau tidak sekarang (menunggu panggilan asinkron selesai). |
IsValid |
bool |
Menunjukkan apakah nilai saat ini dianggap valid atau tidak. |
ValidStyle |
Style |
Style untuk diterapkan ke elemen ketika validasi berhasil. |
Value |
object |
Nilai yang akan divalidasi. |
ValuePropertyName |
string |
Memungkinkan pengguna untuk mengambil alih properti yang akan digunakan sebagai nilai untuk memvalidasi. |
Contoh
Anda dapat menemukan contoh perilaku ini dalam tindakan di Aplikasi Sampel Toolkit Komunitas .NET MAUI.
API
Anda dapat menemukan kode sumber untuk NumericValidationBehavior lebih pada repositori GitHub .NET MAUI Community Toolkit.
.NET MAUI Community Toolkit