如何在WPF TextBox上設置正則表達式? 我希望文本框以某種預定義的格式接受輸入。 這可能嗎?如何在TextBox上設置正則表達式?
5
A
回答
7
您有幾種選擇:
- 您可以創建一個
ValidationRule
子類(見下文),並把它添加到你綁定的驗證程序屬性 - 您可以在綁定屬性設置
ValidationCallback
,拋出如有異常該值是錯誤的,並使用this technique輕鬆顯示驗證錯誤 - 您可以創建一個附加屬性,該屬性爲TextBox.TextChanged屬性註冊一個事件處理程序並實現您自己的驗證錯誤通知機制
- 您可以在代碼中使用普通的文本框與TextBox_Changed處理器背後
- 您可以從附加屬性處理PreviewKeyDown和PreviewTextInput如圖here
- 可以使用由Jan
提到對於masked text box作爲任意正則表達式我通常會使用WPF的內置驗證功能或對綁定屬性進行驗證。對於特定的需求,PreviewKeyDown/PreviewTextInput或掩碼文本框可能會更好。
這裏是你將如何創建有效性規則的子類:
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);
}
}
0
您可以檢查已更改的事件,也可以使用所謂的蒙面文本框。
+0
我無法在wpf中看到蒙面文本框 – viky 2009-11-14 15:24:42
+1
請參閱http:/ /stackoverflow.com/questions/481059/where-can-i-find-a-free-masked-textbox-in-wpf – 2009-11-14 16:02:41
相關問題
- 1. 設置從正則表達式模式到正則表達式?
- 2. 正則表達式 - 設置減法
- 3. 匹配正則表達式設置
- 4. 如何在正則表達式中設置限制?
- 5. 如何在.bat文件中設置正則表達式?
- 6. 如何設置java正則表達式模式的長度?
- 7. 正則表達式(正則表達式)
- 8. 正則表達式(正則表達式)
- 9. 正則表達式(正則表達式)
- 10. 的Javascript正則表達式 - 如何基於正則表達式
- 11. JS /正則表達式:如何在正則表達式中設置多個替換組?
- 12. 正則表達式如何?
- 13. mongodb - 正則表達式和陣列上的正則表達式
- 14. 正則表達式加上「|」
- 15. 如何設置false這個正則表達式?
- 16. 如何設置重複正則表達式?
- 17. 如何設置金額的正則表達式
- 18. 如何設置正則表達式爲000.00000001%-100.00000000%
- 19. Rails - 如何設置正則表達式爲方法?
- 20. 如何設置我的正則表達式只返回一行?
- 21. 如何設置arraylist =每個匹配的正則表達式
- 22. 如何設置該字符串創建正則表達式
- 23. 正則表達式正則表達式正則表達式使用正則表達式,但不是與Python
- 24. 正則表達式表達用於設置計時器
- 25. 正則表達式正則表達式返回的值正則表達式
- 26. 正則表達式正則表達式模仿正則表達式
- 27. PHP-MySQLi替換爲正則表達式/正則表達式/正則表達式
- 28. 在C中設計正則表達式#
- 29. 設置Boost正則表達式區域設置?
- 30. 在JAXB中設置XML屬性正則表達式模式?
嗨,請看看這個問題的答案。它似乎正是你所需要的:http://stackoverflow.com/questions/1103765/wpf-textbox-how-to-define-some-restriction – andyp 2009-11-14 16:02:09