validations validate error assist wpf validation data-binding

validate - validations wpf



Solución alternativa para vincular la lista de expresiones en el grupo de enlace que está vacío (1)

Para admitir los "valores propuestos" que no están comprometidos con el objetivo de un enlace bidireccional hasta que la validación sea exitosa, WPF 4.0 DataGrid se rediseñó para aprovechar la nueva característica BindingGroup.SharesProposedValues de WPF 4.0. Debido a este cambio, ya no es necesario usar enlaces bidireccionales en el grupo vinculante de plantillas de visualización.

Puede usar BindingGroup.TryGetValue para recuperar los valores propuestos para otras columnas en lugar de usar el método anterior que funcionaba con DataGrid del WPF Toolkit .

En otras palabras, el nuevo DataGrid realmente arregla una característica no deseada del DataGrid y, como resultado, las cosas funcionan de forma ligeramente diferente (es decir, los enlaces que faltan son por diseño) pero aún puede hacer lo que necesita hacer.

La explicación en las propias palabras de Microsoft se encuentra en este enlace de Microsoft Connect:

Y aquí hay un blog que describe BindingGroup.SharesProposedValues de otra manera:

En WPF 4, la lista de expresiones de enlace en el grupo de enlace, que se pasa al método Validate de ValidationRule , está vacía.

Es lo mismo si AutoGenerateColumns es verdadero o falso, si DataGridBoundColumns se ha agregado explícitamente a la cuadrícula de datos.

En WPF 3.5 SP1 utilizando DataGrid del Toolkit, la lista de expresiones de enlace se completa con las expresiones de enlace excluidas (1 para cada columna en la cuadrícula de datos)

Considero que esto es un error y lo he publicado en el sitio de Microsoft Connect: https://connect.microsoft.com/WPF/feedback/details/642815/bindingexpressions-on-bindinggroup-passed-to-validationrule-in-datagrid-rowvalidationrules -esta vacio

Pero, ¿alguien tiene una solución para que pueda obtener la expresión de enlace correcta desde ValidationRule ?