WPF Datagrid - 如何验证多行并标记所有无效行?

2024-04-24

我有一个包含行的数据网格,其中验证取决于他的兄弟姐妹。到目前为止,我正在使用 BindingGroups 和自定义 ValidationRule 同时验证多行。但我不知道如何更改无效行条目的外观。我返回一个 ValidationResult,我的网格出现红色边框,但我的样式被忽略。

到目前为止我的 xaml 样式代码:

    <Style TargetType="{x:Type dg:DataGridRow}">
            <Style.Triggers>
                <Trigger Property="Validation.HasError" Value="true">
                    <Setter Property="BorderThickness" Value="10"/>
                    <Setter Property="BorderBrush" Value="Green"/>
                    <Setter Property="Background" Value="#F6B39E"/>
                    <Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=(Validation.Errors)[0].ErrorContent}"/>
                </Trigger>
            </Style.Triggers>
        </Style>

编辑:也许我应该发布更多的代码 目前我有这个验证声明:

 <dg:DataGrid.RowValidationRules>
      <viewModel:StreamGridValidationRules />
 </dg:DataGrid.RowValidationRules>

使用此代码,我上面的样式设置正确,但一次只能验证一行。由于我需要验证所有兄弟姐妹及其父母,因此我将代码更改为:

<dg:DataGrid.BindingGroup>
     <BindingGroup Name="BindingGroup">
         <BindingGroup.ValidationRules>
              <viewModel:StreamGridValidationRules />
          </BindingGroup.ValidationRules>
     </BindingGroup>
</dg:DataGrid.BindingGroup>

这样,我在 BindingGroup 中获得了多个项目,但我的样式被完全忽略,并且网格仅获得标准的 1px 红色边框。

预先感谢您的任何提示和提示!

tS!


如果删除 x:Key="RowStyle" 会发生什么,它会起作用吗?

如果我很明显,但没有看到你的其余代码,请原谅我,我无法告诉。如果您正在命名一种样式,除非您明确将其设置为使用,否则它不会被使用。

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

WPF Datagrid - 如何验证多行并标记所有无效行? 的相关文章

  • 如何将 Ctrl+,(control 加逗号)指定为 WPF 菜单项的键盘快捷键?

    Question I would like to assign the keyboard shortcut Ctrl control plus comma to the Preferences menu item How do I do t
  • WPF 的拖放列表框

    我正在寻找一个简单的ListBox具有内置的拖放功能 我认为 Silverlight 4 工具包有 The BoxList应该可以 通过拖放项目重新排序 从一个项目中拖动项目BoxList到另一个 显示拖动项目的预览 幽灵版本 显示放置位置
  • wpf 调试错误输出 System.WIndows.Data 错误 25

    我有一个自定义样式的组合框 效果很好 它被放置在用户控件内并绑定到数据结构 我使用 DisplayMemberPath 仅显示组合框文本框中的一个元素 ComboBox 样式取自 MSDN 并被多次使用 所以这里就不显示了
  • 使用java进行JSON模式验证[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在为返回 JSON 对象的 java webapp 编写一些验收测试 我想验证返回的 JSON 是否针对架构进行验证 任何人都可以建议
  • 如何自动创建 WPF Viewmodel 属性

    我在 WPF 项目中使用 Visual Studio 17 和 Resharper 该项目向用户显示大量信息 因此我有很多如下所示的属性 private double foo public double Foo get return foo
  • WPF 数据绑定和级联转换器?

    我想知道使用 wpf 数据绑定时是否可以级联转换器 例如就像是
  • 是否可以更改 WPF 控件的父级

    是否可以更改 WPF 控件的父控件 这是一个例子 StackPanel堆栈1有Buttonbtn1 在里面 还有一个空的StackPanel堆栈2 我想以编程方式将 btn1 移动到 stack2 谢谢您的帮助 您可以通过以下方式执行此操作
  • 验证仅适用于数组的第一项

    给定这个模型代码 Required Display Name Name public string Name get set 以下查看代码有效 Html LabelFor model gt model Name Html TextBoxFo
  • 我可以处理 XAML 中引发的异常吗?

    在我的 XAML 中 我通过绑定到 GetAll 属性来获取所有客户
  • Struts 2 如何从自定义验证器中获取 i18n 消息

    如何从自定义验证器中的 key 获取消息 正如中提到的Struts 2 重用自定义表达式验证器 https stackoverflow com questions 28038827 struts 2 reusing custom expre
  • 使用 MVVM 的 C# 泛型,将 T 从 中取出

    My Model是一个泛型类 包含 例如 Value属性可以是 int float string bool 等 所以很自然地 这个类的表示形式如下Model
  • 如何在代码中访问 DataGridCell 的数据对象?

    基本上 我已经绑定了数据网格 使其类似于科目时间表 每行代表一个学期的科目 该学期内的每个单元格代表一个科目 我现在尝试添加拖放功能 以便您可以将其他主题拖到网格上 这将更新底层数据结构 我可以使用一些可视化树方法来查找用户将新主题拖动到的
  • 以编程方式将内容添加到滚动查看器,滚动条停止工作

    好吧 我不太熟悉强大的 WPF 但我尝试了一个有趣的项目来跳入其中 我制作了一个简单的 RSS ATOM 提要查看器 它从 RRS 或 ATOM 提要中提取 HTML 并将其粘贴到浏览器控件中 该控件添加到堆栈面板中 这是 ScrollVi
  • 从 WPF 打印/报告的最佳方法是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • WPF 命令参数绑定问题

    我在理解命令参数绑定的工作原理时遇到一些困难 当我在调用 InitializeComponent 之前创建小部件类的实例时 它似乎工作正常 对 ExecuteCommand 函数中参数 Widget 的修改将 应用 到 widget 这是我
  • 使用自定义验证器进行 ASP.Net 字数统计

    我正在处理的 ASP Net 2 0 项目的要求将某个字段限制为最多 10 个单词 不是字符 我当前正在使用带有以下 ServerValidate 方法的 CustomValidator 控件 Protected Sub TenWordsT
  • 更改 WPF Toolkit 图表中绘图区域和标题周围的边距

    我正在使用 WPF Toolkit 2010 年 2 月版本的 Chart 控件 图表相对于绘图区域占用了大量空间 如何控制绘图区域和图表标题周围的边距 这样 我可以将我需要的 10 个图表排列在网格中 而无需在屏幕上使用太多空间 Than
  • 是否可以将 WPF Combobox.SelectedValue 绑定到多个 ObjectDataProvider?

    尝试确定是否可以使用 XAMAL 绑定将 ComboBox 的 SelectedValue 绑定到多个 ObjectDataProvider 的输入 我查看了 MultiBinding 但这似乎将多个控件组合在一起 这并不完全是我今天想要的
  • 使用数据库数据模型生成 SQLAlchemy 模型、架构和 JSON 响应

    将 Flask 和 SQLAlchemy 用于 Python Web 应用程序 我的目标是创建一个系统 在其中我可以 从现有 PostgreSQL 数据库导入数据模型 并将它们映射到相应 SQLAlchemy 模型中的字段 使用这些 SQL
  • ThemeInfo 属性有什么用?

    每当我创建新的 WPF 应用程序或 WPF 用户控件库时 AssemblyInfo cs文件包含以下属性 assembly ThemeInfo ResourceDictionaryLocation None where theme spec

随机推荐