Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.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# UpdateSourceExceptionFilter_C#_Wpf_Validation_Xaml_Binding - Fatal编程技术网

C# UpdateSourceExceptionFilter

C# UpdateSourceExceptionFilter,c#,wpf,validation,xaml,binding,C#,Wpf,Validation,Xaml,Binding,根据文档,如果我从处理程序返回null,它应该忽略异常,我的理解是它不会将错误添加到错误集合中。但是尝试过之后,它仍然显示在条目[0].ErrorContent中。我误解了吗 最终,我要做的就是忽略特定异常类型的验证错误 <TextBox Height="20"> <Validation.ErrorTemplate> <ControlTemplate> <DockPanel LastChildFill="T

根据文档,如果我从处理程序返回null,它应该忽略异常,我的理解是它不会将错误添加到错误集合中。但是尝试过之后,它仍然显示在条目
[0].ErrorContent
中。我误解了吗

最终,我要做的就是忽略特定异常类型的验证错误

<TextBox Height="20">
    <Validation.ErrorTemplate>
        <ControlTemplate>
            <DockPanel LastChildFill="True">
                <TextBlock DockPanel.Dock="Top"
                           Text="{Binding [0].ErrorContent}">
                </TextBlock>
                <Border BorderBrush="Green"
                        BorderThickness="1">
                    <AdornedElementPlaceholder />
                </Border>
            </DockPanel>
        </ControlTemplate>
    </Validation.ErrorTemplate>
    <TextBox.Text>
        <Binding Path="Number"
                 UpdateSourceTrigger="PropertyChanged"
                 UpdateSourceExceptionFilter="ReturnExceptionHandler">
            <Binding.ValidationRules>
                <ExceptionValidationRule />
            </Binding.ValidationRules>
        </Binding>
    </TextBox.Text>        
</TextBox>

调用您的
ReturnExceptionHandler
?在我的一个项目中,我发现需要将
BindingGroupName
设置为一个值,以使
UpdateSourceExceptionFilter
工作

别问我为什么

object ReturnExceptionHandler(object bindingExpression, Exception exception)
{
    if (exception is FormatException)
    {
        return null;
    }
    return exception;
}