Странная проблема с WPF TreeView при использовании колеса мыши для прокруткиC#

Место общения программистов C#
Ответить
Anonymous
 Странная проблема с WPF TreeView при использовании колеса мыши для прокрутки

Сообщение Anonymous »

Итак, я работал над легендой для нашей карты, используя древовидное представление WPF для отображения групп и слоев.

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

Макет древовидного представления выглядит следующим образом:
  • Группа


    Слой


    Подэлементы слоя
[*]Слой
  • Подэлементы слоя
[*]Слой
  • Подэлементы слоя
[*]Группа
  • Слой
  • и т. д.

Узлы «Группа» и «Слой» представляют собой элементы древовидного представления, но подэлементы слоя содержатся в элементе управления элементами. Подэлементы слоя не предназначены для расширения/сжатия или выбора и, следовательно, должны оставаться статичными под узлом слоя, поэтому элемент управления элементами кажется разумным выбором.

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

Если я удалю элемент управления, все будет работать так, как должно. И когда я добавляю его обратно, он портится.

Кроме того, если я возьму большой палец скроллера с помощью мыши и перетащу его, все будет работать нормально. Никаких прыжков.

Вот ресурс XAML для элемента управления:
А вот дерево:
Этот код использует .NET 4.5 в Visual Studio 2015, если это имеет значение.

Независимо от того, кто-нибудь знает, что может быть причиной проблемы?

Спасибо

Подробнее здесь: https://stackoverflow.com/questions/396 ... -to-scroll
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»