2011-01-05 43 views
0

我想用Entlib 5.0驗證WPF中的用戶輸入。我想檢查文本框中的值是否是一個數字。使用Entlib 5.0對非文本屬性進行WPF驗證

我的模型:

public class Customer 
{ 
    [Required(ErrorMessage = "Country is required")] 
    public double Country { get; set; } 
} 

的XAML:

<TextBox> 
    <TextBox.Text> 
     <Binding Path="Country" UpdateSourceTrigger="PropertyChanged" > 
       <Binding.ValidationRules> 
        <vab:ValidatorRule ValidationSpecificationSource="All" SourceType="{x:Type bl:Customer}" SourcePropertyName="Country"/> 
       </Binding.ValidationRules> 
     </Binding> 
    </TextBox.Text> 
</TextBox> 

當我設置爲texbox Validation.HasError設置爲false文本。

任何想法,我可以驗證這種情況。

+0

我快速的解決方法是暴露值作爲字符串屬性和解析字符串,但它的效果並不理想。 – baalazamon 2011-01-05 18:21:38

回答

0

我找到了解決方案。

綁定應該是這樣的:

<Binding Path="Country" UpdateSourceTrigger="PropertyChanged" NotifyOnValidationError="True" ValidatesOnExceptions="True"> 
    <Binding.ValidationRules> 
     <vab:ValidatorRule ValidationSpecificationSource="All" SourceType="{x:Type bl:Customer}" SourcePropertyName="Country"/> 
    </Binding.ValidationRules> 
</Binding> 
相關問題