Some improvement.
I managed to force my data to update by catching the EditBeginning EditBegun and EditEnded events and by doing this when they occur :
[CODE]
public void CellEditEnded(object sender, RoutedEventArgs e)
{
DataCell cell = (DataCell)sender;
if (cell.ParentColumn.Index == 2) //the Boolean column
{
// Update my data manually
}
}
public void CellEditBeginning(object sender, CancelRoutedEventArgs e)
{
DataCell cell = (DataCell)sender;
if (cell.ParentColumn.Index == 2)
{
// Updates the cell's content immediately.
cell.Content = !(bool)cell.Content;
}
}
public void CellEditBegun(object sender, RoutedEventArgs e)
{
DataCell cell = (DataCell)sender;
if (cell.ParentColumn.Index == 2)
{
// End the edit action in order to commit the changes directly on the click.
cell.EndEdit();
}
}
[/CODE]
This way, my data are automatically updated when I click on the cell.
The only remaining problem is that when I click on another tab and that I come back to the previous one, if I click on the selected boolean cell, I do not enter in any of the previous events.
Still investigating...