Управление анимацией Silverlight в ListBox - PullRequest
1 голос
/ 03 января 2011

У меня есть пользовательский элемент управления, который я использую в качестве своего DataTemplate для всех элементов в моем ListBox.В указанном UserControl есть анимация, которая довольно проста - она ​​просто расширяет определенный ListBox и работает.Дело в том, что когда я выполняю прокрутку, у каждого N-го элемента ТАКЖЕ расширяется ListBox, где N зависит от размера моего браузера (другими словами, от того, сколько элементов удерживает ListBox одновременно).

Кажется, что новые элементы, загружаемые в список во время прокрутки, отключаются по этой анимации.Что я могу с этим поделать?

1 Ответ

2 голосов
/ 03 января 2011

Если ваш внешний ListBox содержит только несколько элементов, добавьте его в свой Xaml: -

<ListBox.ItemsPanel>
    <ItemsPanelTemplate>
         <StackPanel />
    </ItesmPanelTemplate>
</ListBox.ItemsPanel>

По умолчанию ListBox использует VirtualizingStackPanel, который содержит только конкретные экземпляры ListBoxItem, которые в данный моментотображаетсяПредметы, сгенерированные по мере необходимости ItemContainerGenerator, которые будут перерабатывать существующие предметы.Я подозреваю, что в некоторых случаях состояние ListBoxItem не полностью очищается при повторном использовании для отображения другого элемента из ItemsSource.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...