dalam kotak teks WPF
Aplikasi WPF sering perlu mengehadkan kotak teks untuk hanya menerima input digital.
Gunakan previewtextInput dan istextallowed
Untuk mencapai fungsi ini, anda boleh menggunakan insiden :
Dalam program pemprosesan acara , anda boleh menggunakan kaedah PreviewTextInput
untuk mengawal sama ada pengguna dibenarkan masuk:
<code class="language-xml"><TextBox PreviewTextInput="PreviewTextInput"></TextBox></code>
Kaedah ini menggunakan ungkapan biasa untuk mengesahkan input untuk memenuhi keperluan aplikasi. PreviewTextInput
IsTextAllowed
Cegah objek data dari pastet
<code class="language-csharp">private static readonly Regex _regex = new Regex("[^0-9.-]+"); //匹配不允许的文本的正则表达式 private static bool IsTextAllowed(string text) { return !_regex.IsMatch(text); } private void PreviewTextInput(object sender, TextCompositionEventArgs e) { if (!IsTextAllowed(e.Text)) { e.Handled = true; } }</code>
Untuk membataskan lagi input, anda boleh menggunakan peristiwa
:Ini memastikan bahawa data yang disisipkan ke kotak teks juga memenuhi syarat input yang diperlukan. Ambil perhatian bahawa diperbetulkan di sini
, yang lebih sesuai dengan jenis parameter acara DataObject.Pasting
. Untuk kejadian , kod itu tetap tidak berubah.
Atas ialah kandungan terperinci Bagaimana untuk menyekat kotak teks WPF untuk menerima input angka sahaja?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!