簡體   English   中英

對所有WPF文本框實施驗證

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM