У нас есть DataGrid, который позволяет пользователю выбирать несколько ячеек. Тем не менее, у нас есть уникальное требование бизнеса. В частности ...
- Первая ячейка: вы можете выбрать в любом месте
- Вторая ячейка: должна быть либо в той же строке, либо в том же столбце, что и первая ячейка.
- Дополнительные ячейки: должны находиться в той же строке или столбце, что и вторая ячейка.
Я не вижу никаких методов PreviewSelectionChanges, которые можно использовать, и при этом я не вижу способа блокировать выборки Shift, которые бы пересекали границы допустимого выделения.
Моя текущая мысль состоит в том, чтобы сохранить свойства int? Row;
и int? Col;
, которые я использую для сокращения выбранных ячеек после того, как получаю событие изменения выбора, но мне кажется, что это не совсем ясно, так как это происходит после факт. Я хочу что-то, что говорит, что Cell (c, r) собирается быть выбранным. Вы позволите это? и я могу идти оттуда.
Итак ... Мысли?