首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何强制wpf ValidationRules绑定?

如何强制wpf ValidationRules绑定?
EN

Stack Overflow用户
提问于 2014-05-17 23:52:08
回答 1查看 348关注 0票数 2

例如,我有一个通过mvvm模式绑定的文本框,如下所示:

代码语言:javascript
复制
<TextBox VerticalAlignment="Center" Grid.Column="2" Grid.Row="1" Validation.ErrorTemplate="{StaticResource ValidationErrorTemplate}">
            <TextBox.Text>
                <Binding Path="Entity.LastName" NotifyOnValidationError="True">
                    <Binding.ValidationRules>
                        <validations:MandatoryValidationRule/>

此特定规则检查是否在文本框中输入了任何值。但是,只有当用户输入一些文本然后将其删除时,此规则才会激活。大多数情况下,当用户遗漏了一个空白字段时,这是因为他忘了填写它。

那么,在允许用户实际保存数据之前,如何从视图模型强制检查所有验证规则呢?

如果我能以某种方式同时对所有控件执行此操作,那就太好了。

谢谢你。

EN

回答 1

Stack Overflow用户

发布于 2014-05-18 02:14:11

加载窗口后,您可以强制规则自动更新,以便空白字段指示错误:

代码语言:javascript
复制
public void Window_Loaded(object sender, RoutedEventArgs e)
{
    textbox1.GetBindingExpression(TextBox.TextProperty).UpdateSource();
    textbox2.GetBindingExpression(TextBox.TextProperty).UpdateSource();
}

或者,您可以实现IDataErrorInfo并更新文本绑定,使其ValidatesOnDataErrors

代码语言:javascript
复制
 <Binding Path="Entity.LastName" NotifyOnValidationError="True" ValidatesOnDataErrors="True">

下面是一个关于如何实现IDataErrorInfo的简单example

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23713304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档