Как сделать так, чтобы элемент управления следовал за своим родителем в TreeView с прокруткой? - PullRequest
0 голосов
/ 26 июля 2010

У меня есть TreeView с кучей дочерних узлов, каждый из которых имеет свои собственные дочерние узлы.

Пользователь попросил меня предоставить автозаполнение при редактировании любого из TreeNodes «внуков», поэтому мне пришлось реализовать плавающий TextBox, который расположен непосредственно над TreeNode.

Проблема в том, что если пользователь прокручивает TreeView своей средней кнопкой мыши во время редактирования TextBox, он видит прокрутку TreeView, пока TextBox остается на месте. И это несмотря на то, что я переписал TextBox в TreeView.

Итак, к какому свойству или событию TreeView я могу получить доступ, чтобы заставить TextBox следовать за всеми другими узлами TreeView, когда пользователь прокручивает его?

Примечание: я не использую WPF. (Обычно я хотел бы, но я изменяю существующий проект.)

1 Ответ

1 голос
/ 27 июля 2010

Может быть проще всего извлечь из TreeView и переопределить функцию OnMouseWheel. Там вы можете либо скрыть TextBox, либо переместить его, чтобы не отставать от вашего движущегося TreeNode. Эта статья делает нечто похожее на то, что вы пытаетесь сделать, но с DropDown. Скрывает элемент управления в OnMouseWheel.

...