[英]Implementing validation for all WPF TextBoxes
我的程序有數十個TextBoxes,它們都可以使用一個通用的驗證規則。 規則本身不是很復雜:它只會阻止使用分號(;)。
是否存在實現它的方法(比將相同的規則手動應用於所有TextBox更加容易)?
編輯:我看不到它可能與如何在WPF程序中使用IDataErrorInfo.Error有關系? -將驗證應用於文本框(或在工具提示中顯示錯誤)時,我沒有問題。
您可以編寫一個自定義標記擴展來擴展Binding
並添加ValidationRule
:
public class CustomBinding : Binding
{
public CustomBinding(string path)
: base(path)
{
this.ValidationRules.Add(new YourValidationRule())
}
}
然后,當您在XAML中設置{Binding}
時,可以使用此{Binding}
而不是通常的{Binding}
,例如:
<TextBox Text="{local:CustomBinding SourceProperty}" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.