Анимировать TreeViewItem один за другим? - PullRequest
0 голосов
/ 19 марта 2012

Итак, у меня есть анимация TreeViewItem для TreeView, которая использует TreeViewItem.Loaded для запуска анимации:

<Style TargetType="{x:Type TreeView}"> 
    <Style.Resources> 
        <Style TargetType="{x:Type TreeViewItem}"> 
            <Style.Triggers> 
                <EventTrigger RoutedEvent="TreeViewItem.Loaded"> 
                    <BeginStoryboard> 
                        <Storyboard> 
                            <DoubleAnimation Storyboard.TargetProperty="Opacity" 
                                             From="0" To="1" BeginTime="00:00:00" Duration="00:00:01" FillBehavior="Stop"/> 
                        </Storyboard> 
                    </BeginStoryboard> 
                </EventTrigger> 
            </Style.Triggers> 
        </Style> 
      </Style.Resources> 
</Style> 

Но теперь, когда TreeView расширяет TreeViewItem, все TreeViewItem загружаются и все запускают анимацию одновременно.

Есть ли какой-нибудь способ, которым я могу аниме они один за другим? Таким образом, первый элемент исчезает, а затем второй элемент.

EDIT:

Я только что нашел это в SO, данное решение:

A. создайте раскадровку, которая оживляет непрозрачность, и примените ее к ItemTemplate

B. использовать таймер в фоновом потоке, чтобы добавить элементы один за другим в связанную коллекцию

Интересно, это единственное решение?

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