可以在单个绑定上使用多个验证规则吗?我正在尝试TextBox仅使用XAML 进行验证,BindingGroup但似乎无法正常工作。
这是我的XAML:
<TextBox>
<TextBox.Text>
<Binding Path="Title" UpdateSourceTrigger="PropertyChanged"/>
</TextBox.Text>
<TextBox.BindingGroup>
<BindingGroup NotifyOnValidationError="True">
<BindingGroup.ValidationRules>
<rule:CantBeEmpty ValidatesOnTargetUpdated="True" />
<rule:CantBeMoreThanXCharacters
CharacterLimit="30"
ValidatesOnTargetUpdated="True" />
<BindingGroup.ValidationRules/>
</BindingGroup>
</TextBox.BindingGroup>
</TextBox>
Run Code Online (Sandbox Code Playgroud)
凡rule命名空间引用xmlns:rule="clr-namespace:MyApp.Views.ValidationRules"
这些规则遵循标准的语法:
public class CantBeEmpty : ValidationRule {
public override ValidationResult Validate(object value, CultureInfo cultureInfo) {
[...]
}
}
Run Code Online (Sandbox Code Playgroud)
您是否尝试将验证规则添加到绑定中?:
<TextBox>
<TextBox.Text>
<Binding Path="Title" UpdateSourceTrigger="PropertyChanged">
<Binding.ValidationRules>
<rule:CantBeEmpty ValidatesOnTargetUpdated="True" />
<rule:CantBeMoreThanXCharacters CharacterLimit="30" ValidatesOnTargetUpdated="True" />
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
760 次 |
| 最近记录: |