powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / DataGrid SelectedCells Property и событие SelectedCellsChanged
1 сообщений из 1, страница 1 из 1
DataGrid SelectedCells Property и событие SelectedCellsChanged
    #38981505
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Суть такая:
при включении режима выделения по ячейках SelectionUnit="Cell" SelectionMode="Extended"
в DataGrid'е можно выделать группу ячеек 1 нажатием мышки.
В тот момент когда пользователь тянет курсор по ячейкам DataGrid генерирует событие SelectedCellsChanged при каждом обновлении количества выделенных ячеек.
Решил малость подшаманить, чтоб выделение событие о изменении выделения возбуждалось только когда я закончил выделять ячейки. Но косяк в том, что вся эта мишура с выделением закрыта, все флаги private, методы не переопределяются.

Я пока вижу 2 варианта решения проблемы:

а) извлекать приватное поле через рефлексию. На сколько я понимаю, это довольно медленно и не очень красиво.
Хоть скорость в этом случаи не критична и рефлексия дает точно определить, происходит сейчас прокрутка или нет, получить какой то CallBack по её завершению будет нельзя. По этому проверять придется каждый раз в SelectedCellsChanged и дай бог, если эти флаги снимаются раньше, чем вызывается это событие.

б) ожидать события LostMouseCapture, так как для вычисления выделенной области DataGrid захватывает мышку после нажатия. В тот момент, когда мы мышку отпустили она высвобождается и мы ловим это событие вместо SelectedCellsChanged.
В других случаях сам DataGrid мышку не захватывает, только его потомки.

Собственно, жду вашего мнения, как лучше
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / DataGrid SelectedCells Property и событие SelectedCellsChanged
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]