Поскольку вы упомянули, что это множественный выбор, и вы хотите иметь возможность переключаться и т. Д. Я бы посмотрел на использование события мыши, как вы изначально предложили.
Это немного облегчит код переключения.Хотя, если вы используете привязку данных, нет необходимости находить строку и переключать флажок, просто установите значение того, с чем привязан ваш флажок, затем поднимите OnPropertyChanged ().
Это представление сетки только когда-либо будетесть две колонки там?Я думаю, что вы могли бы достичь того же результата без сетки, просто используя шаблон элемента в просмотре списка.