修正验证错误后,Silveright验证会引发异常

问题描述

| 目前,我正在开发Silverlight商业应用程序,并且是第一次进行验证。当我收到验证错误时,控件将按预期显示错误,但是当我解决验证错误并移至DataForm中的下一个字段(实际上是Telerik RadDataForm,以了解其价值)时,我我在.g.cs文件的实体的设置器中引发了ArgumentOutOfRangeException异常。这是生成代码
[DataMember()]
[display(Name=\"Email / User Name\")]
[RegularExpression(\"^.*@.*\\\\..*$\",ErrorMessage=\"Must be a valid e-mail address\")]
[required()]
public string Email
{
    get
    {
        return this._email;
    }
    set
    {
        if ((this._email != value))
        {
            this.OnEmailChanging(value);
            this.RaiseDataMemberChanging(\"Email\");
            this.ValidateProperty(\"Email\",value); // <-- Exception thrown here
            this._email = value;
            this.RaiseDataMemberChanged(\"Email\");
            this.OnEmailChanged();
        }
    }
}
这是引起验证的控件的Xaml:
<telerik:RadDataForm Grid.Row=\"0\" Style=\"{StaticResource GridPageFormStyle}\" 
                 x:Name=\"addForm\" EditEnded=\"AddEnded\" Header=\"Add\">
    <telerik:RadDataForm.EditTemplate>
        <DataTemplate>
            <StackPanel>
                <telerik:DataFormdatafield 
                                DataMemberBinding=\"{Binding Email,Mode=TwoWay,ValidatesOnExceptions=True,NotifyOnValidationError=True}\" 
                                Label=\"E-mail Address\" />
                <telerik:DataFormComboBoxField 
                                DataMemberBinding=\"{Binding Role,NotifyOnValidationError=True}\" 
                                ItemsSource=\"{Binding Roles,ElementName=This}\" Label=\"Role\" />
                <telerik:DataFormComboBoxField DataMemberBinding=\"{Binding Partner,NotifyOnValidationError=True}\" 
                                               ItemsSource=\"{Binding Partners,ElementName=This}\" Label=\"Partner\" />
            </StackPanel>
        </DataTemplate>
    </telerik:RadDataForm.EditTemplate>
    </telerik:RadDataForm>
这是例外的文字
    {System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument,ExceptionResource resource)}
有谁知道为什么会抛出该异常,或者有调试它的好策略?我无法进入实际引发异常的代码。     

解决方法

        我不确定仍然发生了什么,但事实证明,调试时我可以跳过错误,一切正常。另外,在不进行调试的情况下甚至不会发生错误,因此我现在暂时将其忽略。     ,        在我的情况下,答案是在调试设置中取消选中\“当异常跨越AppDomain或受管理时.... \中断。” 资源