Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF在单个datagrid列上验证_C#_Wpf_Validation_Xaml_Datagrid - Fatal编程技术网

C# WPF在单个datagrid列上验证

C# WPF在单个datagrid列上验证,c#,wpf,validation,xaml,datagrid,C#,Wpf,Validation,Xaml,Datagrid,我在代码隐藏中编写了ValidationRule,但我只希望在编辑/添加某个列中的值时触发它。因此,当我更改另一列中的另一个值时,不应触发验证。我怎样才能做到这一点 我现在将ValidationRule分配给datagrid,如下所示: <DataGrid.RowValidationRules> <local:ValidationRule ValidationStep="UpdatedValue"/> </DataGrid.RowValidationRule

我在代码隐藏中编写了ValidationRule,但我只希望在编辑/添加某个列中的值时触发它。因此,当我更改另一列中的另一个值时,不应触发验证。我怎样才能做到这一点

我现在将ValidationRule分配给datagrid,如下所示:

<DataGrid.RowValidationRules>
    <local:ValidationRule ValidationStep="UpdatedValue"/>
</DataGrid.RowValidationRules>
<DataGridTextColumn Header="FOO">
    <DataGridTextColumn.Binding>
        <Binding Path="foo" UpdateSourceTrigger="PropertyChanged">
            <Binding.ValidationRules>
                <local:ValidationRule/>
            </Binding.ValidationRules>
        </Binding>
     </DataGridTextColumn.Binding>
</DataGridTextColumn>

我已将其添加到datagridtextcolumn中,如下所示:

<DataGrid.RowValidationRules>
    <local:ValidationRule ValidationStep="UpdatedValue"/>
</DataGrid.RowValidationRules>
<DataGridTextColumn Header="FOO">
    <DataGridTextColumn.Binding>
        <Binding Path="foo" UpdateSourceTrigger="PropertyChanged">
            <Binding.ValidationRules>
                <local:ValidationRule/>
            </Binding.ValidationRules>
        </Binding>
     </DataGridTextColumn.Binding>
</DataGridTextColumn>


您可以为列定义编辑和显示模板,并将验证规则放入编辑模板中。我不太明白代码隐藏是如何形成的。ValidationRule是在代码隐藏中定义的。Validationrules总是在代码中定义的。这个有什么不同吗?如果需要将其放在一个字段上,请不要将其附加到行。它们适用于绑定。如上所述,将其应用于编辑模板中该字段的一个字段上的绑定。