Come posso impostare un'espressione regolare su WPF TextBox? Desidero che la casella di testo accetti l'input in un formato predefinito. È possibile?Come posso impostare l'espressione regolare su TextBox?
risposta
sono disponibili diverse opzioni:
- È possibile creare un
ValidationRule
sottoclasse (vedi sotto) e aggiungerlo al tuo validatori proprietà di Binding - È possibile impostare una
ValidationCallback
sulla vostra proprietà bound, un'eccezione se il valore è errato e utilizzare this technique per visualizzare facilmente gli errori di convalida - È possibile creare una proprietà associata che registra un gestore di eventi per la proprietà TextBox.TextChanged e implementare il proprio meccanismo di notifica degli errori di convalida
- È possibile utilizzare una casella di testo normale con un gestore TextBox_Changed in codice dietro
- È possibile gestire PreviewKeyDown e PreviewTextInput da una proprietà associata, come illustrato here
- È possibile utilizzare un masked text box come detto da Jan
Per regex arbitrarie In genere utilizzerei le funzionalità di convalida incorporate di WPF o eseguo la convalida sulla proprietà associata. Per esigenze specifiche, la casella di testo PreviewKeyDown/PreviewTextInput o mascherata potrebbe essere migliore.
Ecco come si potrebbe creare una sottoclasse ValidationRule:
public class RegexValidationRule : ValidationRule
{
... // Declare Regex property and Message property
public override ValidationResult Validate(object value, CultureInfo cultureInfo)
{
if(Regex.IsMatch((string)value))
return ValidationResult.ValidResult;
else
return new ValidationResult(false, Message);
}
}
O è possibile controllare l'evento modificato oppure è possibile utilizzare la cosiddetta casella di testo mascherata.
non riesco a vedere la casella di testo mascherata nel wpf – viky
Vedi http://stackoverflow.com/questions/481059/where-can-i-find-a-free-masked-textbox-in-wpf –
- 1. Come disattivare la selezione su un TextBox
- 2. Come posso creare un postback di Textbox su KeyUp?
- 3. Come posso impostare onClickListener su ArrayAdapter?
- 4. ID dinamici su asp: TextBox?
- 5. Come creare un commutatore pass-through TextBox WPF TextBox?
- 6. Come impostare la lunghezza massima per multilinea TextBox?
- 7. Come ottenere/impostare la posizione del cursore in Silverlight textbox?
- 8. Come posso impostare ClientCredentials?
- 9. Come posso consentire ctrl + a con TextBox in winform?
- 10. regolare il bordo su un lato specifico
- 11. problema multilinea WPF TextBox
- 12. Come posso impostare [NSTextView selectedTextAttributes] su una finestra di sfondo?
- 13. Come posso impostare RegistraBounds su true in Android?
- 14. Come posso impostare il messaggio su un'eccezione in JAVA?
- 15. Come posso impostare il valore selezionato su DevExpress LookupEdit?
- 16. Come posso impostare l'intera vista dell'intestazione su UICollectionView?
- 17. Come posso impostare drawable su un ListView in Android
- 18. Come posso impostare il formato autoincrement su 0001 in MySQL?
- 19. Come posso impostare la bussola su netbeans 7.4
- 20. Come posso impostare una data su NULL in Yii?
- 21. Come posso impostare un bordo css su un solo lato?
- 22. Come posso impostare il controllo NumericUpDown su Infinity?
- 23. come posso impostare il jdk in intellij 9 su mac
- 24. Come posso impostare attributi utente estesi su file Android?
- 25. Come posso impostare una variabile su una pagina _Layout?
- 26. Come posso impostare la lingua predefinita di LLDB su Swift?
- 27. Come posso impostare il database MongoDB su Heroku con MongoLab?
- 28. Come posso impostare un record corrente di BindingSource su null?
- 29. Usa JQuery DatePicker su TextBox asp.net
- 30. Espressione regolare su spazio voxel
Ciao, si prega di dare un'occhiata alla risposta di questa domanda. Sembra essere esattamente ciò di cui hai bisogno: http://stackoverflow.com/questions/1103765/wpf-textbox-how-to-define-some-restriction – andyp