Я использую PropertyGrid в приложении инструмента, чтобы показать окно для мониторинга объекта в удаленном приложении. Каждую секунду или около того я получаю обновление из приложения с указанием состояния всех участников, которые изменились, и я обновляю сетку. Я вызываю Refresh (), чтобы изменения вступили в силу. Все это работает довольно хорошо, кроме одной вещи.
Скажите, что объект слишком высок, чтобы поместиться в сетку, поэтому есть полоса прокрутки. Пользователь выбрал элемент сетки, но также прокрутил его выше, чтобы выбранный элемент находился ниже нижней части элемента управления.
Проблема в том, что при Refresh () элемент управления автоматически прокручивает элемент сетки в поле зрения (странно, что он этого не делает, когда элемент находится над верхней частью элемента управления).
Я ищу способ предотвратить это или сохранить состояние, выполнить Refresh () и затем установить его обратно. Я попытался получить базовый VScrollBar в PropertyGridView внутри PropertyGrid и связался с «Value», но он не остается постоянно установленным. Всегда всплывает, так что элемент в поле зрения.
Отмена выбора элемента во время прокрутки - это мой запасной вариант (автоматическая прокрутка в представлении не происходит при отсутствии выбранного элемента сетки), но это немного ухудшает удобство использования, поэтому я ищу другой способ.
Кто-нибудь сталкивался с чем-то подобным?