我正在编写以下代码,它看起来很实用。但是,一旦我收到验证错误,即使验证错误已得到纠正,它也会保留。我使用DataGridTextColumn
参数在我的EditingElementStyle
上的行级和单元级使用验证,但这不能在DataGridTemplateColumn
中使用。是否有我可以使用的等价物,因为我不知道如何继续。以下是我的代码示例,其中显示了我的DataGridTextColumns
和DataGridTemplateColumn
之一。
<dg:DataGridTemplateColumn Header="Instrument" MinWidth="140">
<dg:DataGridTemplateColumn.CellTemplate>
<DataTemplate >
<TextBlock Text="{Binding Path=PRODUCTNO, Mode=TwoWay}"/>
</DataTemplate>
</dg:DataGridTemplateColumn.CellTemplate>
<dg:DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox IsEditable="True" ItemsSource="{StaticResource TestList}">
<ComboBox.Text>
<Binding Path="PRODUCTNO" UpdateSourceTrigger="PropertyChanged">
<Binding.ValidationRules>
<ValidationRules:IntegerValidationRule />
</Binding.ValidationRules>
</Binding>
</ComboBox.Text>
</ComboBox>
</DataTemplate>
</dg:DataGridTemplateColumn.CellEditingTemplate>
</dg:DataGridTemplateColumn>
<dg:DataGridTextColumn Header="BATCH No." Width="100" EditingElementStyle="{StaticResource CellEditStyle}">
<dg:DataGridTextColumn.Binding>
<Binding Mode="TwoWay" Path="BATCHNO">
<Binding.ValidationRules>
<ValidationRules:StringValidationRule/>
</Binding.ValidationRules>
</Binding>
</dg:DataGridTextColumn.Binding>
</dg:DataGridTextColumn>
答案 0 :(得分:0)
也许可以尝试this人所做的事情。页面上的代码片段似乎不起作用,但他建议使用自定义的 DataGridTextColumn 而不是 DataGridTemplateColumn 。我打算尝试一下,当它(或者如果)工作时我会更新我的答案。