以编程方式更改 WPF TextBox 中的验证规则

2023-12-22

我有一个如下定义的文本输入区域:

    <TextBox>
        <TextBox.Text>
            <Binding Path="MyProperty">
                <Binding.ValidationRules>
                    <valid:MyValidator/>
                </Binding.ValidationRules>
            </Binding>
        </TextBox.Text>
    </TextBox>

我的问题是,根据其他设置,此处应插入的内容会有所不同。因此,输入数据的验证行为应该改变。

如何在后面的代码中更改某个文本框的活动验证规则?


使用 BindingOperations.GetBinding() 获取 TextBox.Text 的 Binding 对象。然后按照您认为合适的方式操作绑定的 ValidationRules 集合。

Binding binding = BindingOperations.GetBinding(myTextBox, TextBox.TextProperty);
binding.ValidationRules.Clear();
binding.ValidationRules.Add(myCrazyValidationRule);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以编程方式更改 WPF TextBox 中的验证规则 的相关文章

  • 从代码中,如何创建对存储在附加属性中的对象的属性的绑定?

    我们有一个继承的附加属性来存储一个对象 在可视化树的更下方 我们希望从代码绑定到该对象的属性 通常我们像这样构建绑定的路径部分 var someBinding new Binding Path new PropertyPath Attach
  • WPF:绑定到 ControlTemplate 中的命令

    我正在尝试向自定义 ListView MyListView 添加一个按钮 该按钮会触发 MyListView 中定义的命令 MyCustomCommand 我通过应用 ControlTemplate 添加了按钮 和标题文本 问题是我还没有找
  • 是否可以“缩放”WPF RichTextBox 中的文本?

    我注意到 WinForms RichTextBox 有一个ZoomFactor我认为这正是我想要的属性 不幸的是 WPF 变体似乎完全缺少此属性 有什么方法可以实现相同的功能 增加 减少整个文档的可见文本大小而不实际更改底层 RTF Upd
  • WPF 按钮需要单击两次才能触发 Click 事件

    我有一个 TabItem 其中包含一个日历控件和一个按钮 问题是 当日历的选择日期与先前选择的日期相同时 该按钮需要单击两次才能触发其 Click 事件 我实现了日历的 selectedDatesChanged 事件来解决当当前选择的日期与
  • 应用程序启动时将焦点设置在 PasswordBox 上

    我无法将焦点设置在我的 PasswordBox 控件上是否有原因 C public Login InitializeComponent password Focus XAML
  • 多边形边界与具有 ScaleTransform 的画布上的视觉效果不匹配

    以下 XAML 只是画布上缩放为 x2000 的多边形 当鼠标悬停在多边形上时 有一个触发器会更改多边形的填充颜色 为什么当您将鼠标悬停在多边形上方和左侧时 框会改变颜色
  • Keyboard.Focus(item) 和 item.Focus() 有什么区别?

    在 WPF 中 有两种方法将焦点设置到元素 您可以调用输入元素的 Focus 方法 也可以使用输入元素作为参数调用 Keyboard Focus first way item Focus alternate way Keyboard Foc
  • 从视图模型调用方法的命令

    好吧 我倾向于避免使用命令 因为它们总是让我感到困惑 但我正在进行一个新项目 并且正在尝试正确构建它 并且在我看来没有任何代码隐藏 基本上我现在想做的就是连接一个按钮来触发一个命令 在我的视图模型上执行一些操作 但不知何故 如此简单的事情仍
  • WPF 自定义 TabItem - 控件未显示在 Visual Studio 设计器中

    我创建了一个自定义 TabItem 其中包含 DockPanel 和 Button XAML
  • 带有 Prism 区域适配器的 AvalonDock

    我看到了一些关于 SO 的问题 但似乎没有一个适合我 我希望能够使用伟大的使用 Prism 4 但是 所有示例区域适配器均适用于 Avalondock 1 x 系列 我无法使其工作 有人有关于如何为 AvalonDock 的 LayoutD
  • 有没有办法对 RichTextBox 的撤消历史进行分组或暂时禁用它?

    我目前正在研究 WPF 中 RichTextBox 内的表格 在 WPF 中 表格没有行和列 只有行 每行都有一定数量的单元格 当用户按下 添加列 按钮时 我的程序会向每一行添加一个新单元格 使用此方法的问题是 在用户添加一列后 如果他们按
  • 绑定未正确更新用户控件属性 MVVM

    编辑 删除旧代码 我将它放在 MainWindow xaml 上
  • 如何将绑定源设置为“self”/UserControl 代码隐藏

    如何设置绑定源以指向 此 UserControl CodeBehind 例如 从用户控件MarkdownEditor xaml 我想指出其中的属性MarkdownEditor xaml cs 无需设置即可执行此操作DataContext t
  • WPF 中的 stackpanel 和 virtualizingstackpanel 有什么区别?

    WPF 中的 stackpanel 和 virtualizingstackpanel 有什么区别 VirtualizingStack面板can在处理非常大的集合时提供性能优势 它通过仅渲染和处理用户可见的数据子集而不是处理整个数据列表来实现
  • WPF - 按多列排序时使用自定义比较器

    我有一个 ListView GridView 我想按 2 列排序 因此如果第 1 列中有 2 个以上的项目具有相同的值 它将按第 2 列排序 非常简单 但是在对 A Z 进行排序时 空字符串会出现在顶部 我想把它们移到底部 我制作了一个比较
  • Wpf DataGrid通过DataBinding隐藏完整行

    是否有可能通过数据绑定隐藏 DataGrid 行 如果我有一个具有可见性属性的 BO 或 ViewModel 项目 是否可以声明一个绑定 以便在该属性设置为不可见时该行将被隐藏 反之亦然 应该可以通过RowStyle 像这样的东西
  • 可编辑的 WPF 列表框

    我有一个绑定到 WPF 中的 ListBox 的 ObservableCollection 我希望列表框可编辑 并将编辑更改保存到集合中 由于 WPF 不提供可编辑的列表框 因此我尝试通过更改 ListBox ItemTemplate 创建
  • 将 SQL 数据库附加到 ComboBox.ItemSsource (WPF)

    我想知道如何将 SQL Server 数据库分配给 ComboBox 的 ItemSource 属性 在 WPF 应用程序中 我将数据源分配给项目 但不知道如何分配给属性 此致 你可以这样尝试 你可以像下面这样绑定组合框的项目源属性 Ite
  • 如何引用 dotNet Core 项目?

    我想将 dotNet Core 项目引用到 WPF 项目 我的 WPF 项目使用 v4 6 2 dotNet Framework 我的 dotNet Core 项目使用 v1 6 dotNet Standard 当我尝试引用它时 出现此错误
  • 如何使WPF TreeView风格成为WinForms TreeView?

    WPF 默认的 TreeView 非常好 我仍然希望它有连接每个子元素的线 就像 Windows 窗体 TreeView 一样 我在网上搜索了一些例子 但设计得不够好 我怎样才能用WPF实现它 让我回答我自己的问题 Code 您需要做的只是

随机推荐