My DataGrid has a number of columns with varying types of data. In this example some are strings, one is for int, one for bool, and 2 for doubles. I am allowing multiselection and filtering the selection so only cells with the same type as the first selected cell can be selected. This is working fine, except when the user ends a drag selection when over a cell which is not supposed to be selected. The cell is not rendered with the selected color, but the cell border still indicates it is the current cell so if the user begins to type what he wants the cells changed to, the data entered is input to that invalid cell. That cell is not included in the DataGrid.SelectedCells property. So my question is, how can I force the grid to have the last valid selected cell be the one the user will be editing and not that cell which should not be edited?
I believe that I have tried setting each of the properties/methods which look like would handle this, all with zero success. I hope someone can tell me what I've missed.
I can provide the example project if needed.