WPF 数据绑定 - 对于具有验证规则的所有绑定,将 NotifyOnValidationError 设置为 true

2024-06-22

在我的 WPF 应用程序中,我想设置NotifyOnValidationError to true(框架默认为 false)对于所有子控件/绑定,如果它们有任何附加到绑定的 ValidationRules。事实上,最好也指定其他绑定默认值 - 例如ValidatesOnDataErrors也应该始终为真。

例如,在下面的文本框中,我不想手动指定 NotifyOnValidationError 属性。

<TextBox>
    <TextBox.Text>
        <Binding Path="PostalCode" 
                 ValidatesOnDataErrors="True" 
                 NotifyOnValidationError="True">
            <Binding.ValidationRules>
                <rules:PostalCodeRule />
            </Binding.ValidationRules>
        </Binding>
    </TextBox.Text>
</TextBox>

跟进愤怒土豆的 answer.
最简单的方法是创建您自己的Binding继承自Binding然后设置你需要的东西,比如NotifyOnValidationError="True" and ValidatesOnDataErrors="True"在构造函数中。

public class ExBinding : Binding
{
    public ExBinding()
    {
        NotifyOnValidationError = true;
        ValidatesOnDataErrors = true;
    }
}

然后你用这个 Binding 代替

<TextBox>
    <TextBox.Text>
        <local:ExBinding Path="PostalCode">
            <local:ExBinding.ValidationRules>
                <rules:PostalCodeRule />
            </local:ExBinding.ValidationRules>
        </local:ExBinding>
    </TextBox.Text>
</TextBox>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WPF 数据绑定 - 对于具有验证规则的所有绑定,将 NotifyOnValidationError 设置为 true 的相关文章

  • 如何覆盖 AutoMapper 对单个属性的配置?

    我正在尝试使用 AutoMapper 12 0 0 来修复错误的字符串属性值 在下面的示例中 我的类具有一些字符串属性 并且对于除我需要执行的属性之外的所有属性 Trim 对于剩下的一个 我需要执行 ToUpper 代替 Trim 问题是我
  • 特定于文化的日期时间字符串在平台之间不一致

    我有一个测试应用程序 允许用户从组合框中选择区域性 并在多行文本框中显示区域性特定日期 代码如下 public partial class Form1 Form public Form1 InitializeComponent comboB
  • nAnt 是否仍受支持并适用于 .net 3.5/VS2008?

    我正在使用 MSBuild 来构建我的东西 我想通过构建服务器使用 CruiseControl net 现在 CCNET 经常引用 nAnt 但看起来 ccnet 可以通过项目配置和 msbuild 完成 nant 可以完成的大部分工作 另
  • 椭圆曲线加密的 .NET 实现(库)

    您能否建议在 NET 平台上使用椭圆曲线加密技术的任何实现 另外 如果您使用过它们 您能告诉我应该使用的推荐曲线吗 EDIT 正如 FatCat 提到的 它的实现在 NET Framework 3 5 中可用 但仅在 Windows Vis
  • 在列表框 WPF 中设置所选项目的边框

    如何在列表框中设置样式以获得所选项目周围的边框 最简单的方法是添加一个触发器IsSelected在 ItemContainerStyle 中ListBox
  • 通过绑定启用 TabItem

    我想在不同页面是 TabItem 的应用程序中使用 MVVM 为此 我使用视图模型 项目 的可观察集合并将其绑定到选项卡控件 ItemSource 对于每个视图模型 我创建了一个单独的数据模板来呈现正确的视图 如下所示
  • 在数据网格中绑定枚举属性的最佳方法

    将枚举属性绑定到数据网格的最佳方法是什么 当前我正在使用公共属性并从那里返回枚举名称还有其他方法吗 枚举 public enum enStatus Draft 1 Published 2 Started 3 Completed 4 Mode
  • C# 是“??”吗?运算符线程安全吗?

    大家都知道这不是线程安全的 public StringBuilder Builder get if builder null builder new StringBuilder return builder 那这个呢 public Stri
  • 调试调用 .Net(C#) dll 的 VB6 项目

    我已经被这个问题困扰了几个小时了 我希望有人遇到过类似的问题 我们使用 VS2010 开发了一个原型 Net C dll 并希望能够在 C 应用程序和 VB6 应用程序中调用该 dll 我的问题是 是否可以调试调用 Net dll 的 VB
  • 在 ReflectionOnly 模式下将程序集加载到新的 AppDomain 时,方法没有实现

    在我们的应用程序 包含 65 个项目的解决方案 中 所有引用的程序集都会在运行时分析是否存在 Ninject 模块 也应用了一些过滤 这些模块稍后会加载到 Ninject 内核中 并且每个模块都会声明内核的绑定 我们采用了一个加载器 以仅反
  • 如何对与 VS DOM 交互的 Visual Studio AddIn 进行单元测试

    我开发了一个 Visual Studio 插件 它与 Visual Studio DOM 交互并修改加载的解决方案 虽然我努力分离与 DOM 交互的代码 并可以通过单元测试对其他业务逻辑进行单元测试 但有没有一种方法可以对 VS DOM 交
  • 您如何使用 ReSharper 5 中的模式匹配功能?

    Resharper 5 的新模式匹配看起来非常强大 尽管需要一些修改才能弄清楚如何使用它 对于那些不熟悉此功能的人 它允许您在代码中搜索特定模式 此类模式的实例可以选择性地替换为替代方案 在 IntelliJ 中 这称为结构搜索和替换 它比
  • .NET 服务是否表现出线程敏捷性?

    与以下问题相关this https stackoverflow com questions 657735 how is asp net multithreaded and this https stackoverflow com quest
  • 如何使元素在 XAML 中引用 StaticResource Storyboard(而不是引用该元素的 Storyboard)

    我正在阅读 MSDN 动画教程 它描述了将故事板应用到元素的以下步骤 创建故事板 使用以下命令指定其目标元素名称TargetName财产 指定目标属性 添加事件触发器来启动动画 我看到一个概念性问题 从中衍生出我的困难 那就是 我在故事板和
  • UWP 将 GetBindingExpression 与 x:Bind 结合使用

    我正在将我的 UWP 应用程序从 Binding 重写为 x Bind 我在不同的文本框中有一个 TextChanged 事件 通过 Binding 我可以使用 GetBindingExpression 来更新模型 x Bind 是否有等效
  • 在异步方法中使用时 HttpClient 标头被清空

    我正在使用 NET Framework 4 6 1 我的 Web api 中有一个控制器 其中有静态 HttpClient 来处理所有 http 请求 在 IIS 上托管我的应用程序后 大约每月一次 我的应用程序的所有传入请求都会出现以下异
  • C# Visual Studio 动态代码片段

    我正在开发一个 WinForms 项目 每天都会执行一些重复性的任务 所以我认为创建代码片段 https msdn microsoft com en us library ms165394 v vs 110 aspx会帮助我 但它仅适用于固
  • MVVM 同步集合

    是否有一种标准化方法可以将 Model 对象集合与 C 和 WPF 中匹配的 ModelView 对象集合同步 我正在寻找某种类 可以使以下两个集合保持同步 假设我只有几个苹果 并且可以将它们全部保存在内存中 换句话说 我想确保如果我将 A
  • WPF 复选框状态不会在固定页面中更新

    我正在尝试导出一些基于在 WPF 中用作模板的固定页面元素的数据 并且我在更新复选框的值时似乎遇到问题 奇怪的是 我还在模板中使用了文本块和文本框 但这些在更新其内容时没有问题 所以 从一开始 我想要导出的数据位于名为 RepairStat
  • 从不同的线程访问对象

    我有一个服务器类 它基本上等待来自客户端的连接 在该类中 我创建了一个 NetworkStream 对象 以便能够从客户端接收字节 由于 NetworkStream Read 方法不是异步的 这意味着它将等到从客户端读取字节才能继续执行类似

随机推荐