Silverlight NumericUpDown внутри Datagrid странное поведение - PullRequest
1 голос
/ 09 ноября 2011

У меня есть DataGrid со столбцом, содержащим элемент управления NumericUpDown, и я столкнулся с очень раздражающим поведением. Если пользователь устанавливает значение элемента управления, а затем продолжает содержимое ячейки, окружающей элемент управления, значение элемента управления сбрасывается. Это особенно раздражает, так как этот элемент управления работает в сочетании со значением «пул» в том смысле, что общее количество, доступное для всех строк, зависит от другого значения за пределами сетки данных. Это не так просто, как использовать атрибут MaxValue элемента управления, так как выбранный итог должен охватывать все строки. Я фиксирую событие ValueChanging и отменяю его, если в пуле ничего нет, однако этот пул некорректен из-за некорректного поведения нажатия за пределами NumericUpDown. Кто-нибудь еще испытывал нечто подобное и есть ли обходные пути?

ОБНОВЛЕНИЕ № 1:
Я заметил, что такое поведение происходит, только если я подключаюсь к событиям ValueChanging / Changed. Если я не обработаю эти события, то при щелчке рядом с элементом управления не происходит странного поведения сброса.

ОБНОВЛЕНИЕ № 2:
Я сосредоточился на проблеме сброса, которая была из-за моего кода. Тем не менее, по-прежнему существует проблема щелчка по области ячейки, окружающей NumericUpDown, вызывающей события ValueChanging / Changed. Я также заметил, что если я отлаживаю и устанавливаю точку останова на эти события, они продолжают срабатывать, пока я не уберу точки останова.

1 Ответ

0 голосов
/ 18 ноября 2011

Обнаружил исправление для этого: в Silverlight DataGrid, DataContext CheckBox иногда обнуляется, когда установлен / снят флажок

То же самое происходило и с моими флажками.

...