我正在使用一个PasswordBox,它公开了一个依赖属性,以便我可以绑定它。问题是,通过像这样使用它,我无法将Binding.ValidationRules简写为这种语法:
<PasswordBox services:RPLPasswordBoxBinder.BindPassword="True"
services:RPLPasswordBoxBinder.BoundPassword="{Binding Path=LoginUser.Parola, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
</PasswordBox>
我将ValidationRules设置为这样的文本框:
<TextBox.Text>
<Binding Path="LoginUser.Parola" UpdateSourceTrigger="PropertyChanged">
<Binding.ValidationRules>
<some validation rule/>
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
有没有办法在单个xaml行中为我的PasswordBox指定ValidationRules集合?或者也许还有另一个聪明的解决方案来验证用户输入我的密码框?
一些澄清: 我正在使用MVVM,我不想使用代码。
我想只添加一个ValidationRule。也许短路Binding.ValidationRules的问题是这个属性是一个集合。在我的情况下,一个验证规则就足够了。
stackoverflow here上有类似的问题。我问了一个类似的问题,因为我的代表不允许我在那里发表评论而且我的问题不同,因为我不只是想提高可读性,而是实际验证我的PasswordBox。
非常感谢提前!
答案 0 :(得分:0)
我建议您将数据模型类基于IDataErrorInfo,然后在那里执行验证,而不是在后面的代码中执行。
有很多例子,但here's one for starters和另一个here。