Использование событий RowValidating работает нормально.
Но если я щелкну где-нибудь в сетке данных без изменения строки, событие всегда запускается после выбора другого элемента управления.
Образец-1 (правильный):
Selecting a Row -> Selecting a Textbox -> Selecting antoher Row
|->RowValidating raised
Образец-2 (неверно):
Selecting a Row -> Clicking the Columnheader -> Selecting a Textbox -> Selecting antoher Row
|->RowValidating raised |->RowValidating raised
Образец-3 (неверно):
Selecting a Row -> Clicking empty Area -> Selecting a Textbox -> Selecting antoher Row
|->RowValidating raised |->RowValidating raised
Есть ли способ получить RowInvalidating до того, как строка действительно изменится?
Я уже пытался переопределить SetSelectedRowCore
и смог отменить изменение выбора, но просмотр данных отправляет EndEdit()
в Binding до запуска SetSelectedRowCore
.