Метод BringIntoView

В WPF у меня есть средство просмотра прокрутки с 7 различными групповыми окнами. Каждый групповой ящик - это отдельный раздел для разных форм. Поскольку средство просмотра прокрутки очень длинное, я разместил ряд кнопок в стековой панели с левой стороны панели и выполнил код программной части, так что нажатие кнопки запускает метод BringIntoView для соответствующего группового окна.

У меня вопрос, есть ли способ заставить BringIntoView каждый раз располагать групповой блок в верхней части видимого раздела. По умолчанию BringIntoView перемещает средство просмотра прокрутки только до тех пор, пока весь групповой блок не окажется в пределах представления, а не так, чтобы отображался самый верхний элемент. Есть ли способ обойти это?

Я изучал использование ScrollToVerticalOffset, но не мог понять, как получить правильную позицию, в основном потому, что он говорит, что групповой ящик не имеет свойства Locate, которое я собирался использовать, чтобы получить позицию , затем установите его с помощью ScrollToVerticalOffset. Одна вещь, о которой я подумал, набирая это, заключалась в том, чтобы каждое нажатие кнопки сначала переходило в верхний групповой ящик, а затем сразу же переходило к правильному, но это кажется своего рода хакерством, и я предпочитаю найти правильный способ. :)

6
задан Keven M 12 December 2011 в 03:08
поделиться