Tengo una WPF Datagrid que estoy usando con varias columnas. Una de las columnas tiene algunos elementos que a veces son nulos y esto causa una excepción cuando intento ordenar esta columna.Clasificación WPF Datagrid en la columna con elementos nulos
Las definiciones de las columnas es algo así como:
<dg:DataGrid.Columns>
<dg:DataGridTextColumn Binding="{Binding MyObject.Field1}" Header="Field1" Width="Auto" />
<dg:DataGridTextColumn Binding="{Binding MyObject.Field2.SubField}" Header="Field2" Width="Auto" />
</dg:DataGrid.Columns>
Si especie en la columna Campo1 Está bien, si una especie de columna Campo2 y no hay nula objetos Campo2 está bien, pero a veces hay y son la cuadrícula de datos intenta clasificar en el subcampo (supongo) y realiza un excepción nula:
System.InvalidOperationException was unhandled
Message=The SortDescriptions added are not valid. The probable solutions are to set the CanUserSort on the Column to false, or to use SortMemberPath property on the Column, or to handle the Sorting event on DataGrid.
he intentado fijar SortMemberPath a "MyObject.Field2.SubField" pero por supuesto esto no lo arregla desde Field2 todavía es a veces nulo. Me pregunté si trataría de usar un convertidor en el que estableciera SortMemberPath y que el convertidor devolviera string.empty para cualquier elemento nulo, pero no podría hacerlo funcionar.
También intenté agregar "TargetNullValue = {x: Static sys: String.Empty}" dentro del enlace de estas columnas, pero aún así no funcionó.
Cualquier consejo/sugerencia sería muy apreciada. Gracias, Voluntad
Puede asegurarse de que su objeto nunca sea nulo mediante el uso de un convertidor o simplemente crear una instancia (si es nulo) cuando obtiene los datos para la cuadrícula de datos. –