【问题标题】:UpdateSourceExceptionFilter更新源异常过滤器
【发布时间】:2013-12-20 23:36:12
【问题描述】:

根据文档,如果我从处理程序返回 null,它应该忽略异常,我的理解是它不会将错误添加到 Error 集合中。但是尝试过之后,它仍然出现在条目[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>
object ReturnExceptionHandler(object bindingExpression, Exception exception)
{
    if (exception is FormatException)
    {
        return null;
    }
    return exception;
}

【问题讨论】:

    标签: c# wpf validation xaml binding


    【解决方案1】:

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

    别问我为什么。

    【讨论】:

      猜你喜欢
      • 2017-11-10
      • 1970-01-01
      • 2013-09-04
      • 2011-05-15
      • 1970-01-01
      • 2012-11-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多