控制 ExceptionValidationRule at 绑定到 ICommand 的按钮

本文关键字:ICommand 按钮 绑定 ExceptionValidationRule at 控制 | 更新日期: 2023-09-27 18:34:29

我有一个按钮进入绑定到 ICommand 的 WPF 窗口

<Button Style="{StaticResource ToolBarButtonSearchTime}">
    <Button.Command>
        <Binding Path="FiltrarPlanillasCommand">
            <Binding.ValidationRules>
                <ExceptionValidationRule/>
            </Binding.ValidationRules>
        </Binding>
    </Button.Command>
</Button>

这是执行的方法

public void FiltrarPlanillasExecute(object p)
{
    FiltrosDocumento filtro = new FiltrosDocumento();
    filtro.ListaBodegasAcopio = ListaBodegasSeleccionadas;
    filtro.FechaInicial = FechaInicial;
    filtro.FechaFinal = FechaFinal;
    filtro.IntIdmodulo = IntIdModulo;
    try
    {
        filtro.PlanillaAcopioLiquidada = PlanillaAcopioLiquidada;
        ListaPlanillas = null;
        ListaPlanillas = new ObservableCollection<Merlin_MovimientoDocumentosFacturacion_Enc>(
                    ListaDocumentos.PlanillasAcopio(filtro, db)
                );
        ((DelegateCommand)_ICommandParadigmaNPrint).RaiseCanExecuteChanged();
    }
    catch (Exception)
    {
        //    Here this exception wasn't catched 
        throw;
    }
}

为什么如果设置了<ExceptionValidationRule/>,它没有捕获异常?我的代码出了什么问题?

控制 ExceptionValidationRule at 绑定到 ICommand 的按钮

ExceptionValidationRule 用于捕获在属性的 set 或 get 方法处发生的异常,而不是绑定到的命令属性的执行方法。