DataGridTemplateColumn EditingElementStyle等价物

时间:2013-10-16 20:01:34

标签: c# wpf

我正在编写以下代码,它看起来很实用。但是,一旦我收到验证错误,即使验证错误已得到纠正,它也会保留。我使用DataGridTextColumn参数在我的EditingElementStyle上的行级和单元级使用验证,但这不能在DataGridTemplateColumn中使用。是否有我可以使用的等价物,因为我不知道如何继续。以下是我的代码示例,其中显示了我的DataGridTextColumnsDataGridTemplateColumn之一。

<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>

1 个答案:

答案 0 :(得分:0)

也许可以尝试this人所做的事情。页面上的代码片段似乎不起作用,但他建议使用自定义的 DataGridTextColumn 而不是 DataGridTemplateColumn 。我打算尝试一下,当它(或者如果)工作时我会更新我的答案。