WPF/XAML-GroupBox上的ValidationRule?

WPF/XAML-GroupBox上的ValidationRule?,wpf,xaml,validationrules,Wpf,Xaml,Validationrules,我有一个数据输入表单,其DataCountText绑定到ViewModel对象 表单包含(除其他外)多个复选框元素,每个元素都绑定到ViewModel中的一个布尔值。这些复选框分为两个组框 我不知道如何处理两个业务需求 至少选中了groupbox 1中的一个复选框,或者至少选中了groupbox 2中的一个复选框 如果选择了groupbox 1中的任何内容,则groupbox 2中的所有内容都将取消选择,反之亦然 有人有什么想法吗?听起来像是我将在ViewModel中介绍的内容。 VM get的

我有一个数据输入表单,其DataCountText绑定到ViewModel对象

表单包含(除其他外)多个复选框元素,每个元素都绑定到ViewModel中的一个布尔值。这些复选框分为两个组框

我不知道如何处理两个业务需求

  • 至少选中了groupbox 1中的一个复选框,或者至少选中了groupbox 2中的一个复选框
  • 如果选择了groupbox 1中的任何内容,则groupbox 2中的所有内容都将取消选择,反之亦然

  • 有人有什么想法吗?

    听起来像是我将在ViewModel中介绍的内容。 VM get的初始状态已经是有效状态(选择了某些内容)。
    如果用户现在选择了其他内容,您可以通过将其他组的属性设置为false来解决此问题。

    问题1的解决方案很简单-让VM中的属性设置程序清除不应设置的字段。绑定将适当地更新显示


    问题2的解决方案有点复杂。如果我想在GroupBox级别显示错误,我需要将BindingGroup附加到GroupBox,并向其中添加适当的ValidationRule。

    在ViewModel中放置一个方法,检查是否违反了规则,这很容易。但我不确定如何将其与视图中显示的表单验证行为联系起来。如果没有选中复选框,我希望看到用红色边框包围的GroupBox,并在Validation.Errors中显示相应的消息。在我与IDataErrorInfo的游戏中,我已经能够在单个控件周围获得红色框,但我不知道如何让它在GroupBox周围绘制。