在ListBox Visibility Changed上强制重新加载Listbox项(usercontrols)

时间:2015-01-14 01:55:15

标签: wpf mvvm

我有一个绑定到UserControl列表的ListBox。

uc有一个TextBlock,它有一个触发OnLoad的动画。

 <TextBlock.Style>
            <Style TargetType="TextBlock">
                <Style.Triggers>
                    <EventTrigger RoutedEvent="Loaded">
                        <EventTrigger.Actions>
                            <BeginStoryboard>
                                <Storyboard>
                                    <DoubleAnimation Duration="0:0:0.8"      Storyboard.TargetProperty="FontSize" To="16" />
                                </Storyboard>
                            </BeginStoryboard>
                        </EventTrigger.Actions>
                    </EventTrigger>
                 </Style.Triggers>
            </Style>
        </TextBlock.Style

工作正常。我的问题是List可以被用户折叠。当用户unCollapses List我需要再次触发aanimation(当然不是 - 因为它们已经被加载)。似乎没有任何其他可行的事件。 Soo ..我正在尝试转储ItemSource并重新加载它们。它不会受到伤害,因为只有10或12项。我在ViewModel中有一个ICommand,可以捕获可见性崩溃...但我被困在那里。感谢

1 个答案:

答案 0 :(得分:0)

我最终做的是在Collapse上复制Collection ......然后清除。现在,当Visibility变为Visible时,我重新加载副本。感谢