在项目中,我有一个绑定到一个ObservableCollection一个WPF列表框。我每次添加一个新的项目到集合中的同一个项目被添加到列表框全自动。 要显示在列表框我使用XAML DataTemplate中的项目。

我想要做的是一次动画项目时,它被添加到收藏/列表框。 可以这样做? 正如DataTemplate中也许动画?我想我需要一个触发某种方式开始这个动画,但是当添加了一个新的项目/ DataTemplate中是什么触发触发器?

有帮助吗?

解决方案

我觉得一个事件触发的FrameworkElement.Loaded路由事件可以工作。例如:

<DataTemplate DataType="{x:Type l:Foo}">
    <Button x:Name="Button" Content="{Binding Path=Bar}">
        <Button.Background>
            <SolidColorBrush x:Name="ButtonBrush" Color="Tan" />
        </Button.Background>
    </Button>
    <DataTemplate.Triggers>
        <EventTrigger RoutedEvent="FrameworkElement.Loaded" SourceName="Button">
            <BeginStoryboard>
                <Storyboard>
                    <ColorAnimation Storyboard.TargetName="ButtonBrush" Storyboard.TargetProperty="Color" To="Red" />
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger>
    </DataTemplate.Triggers>
</DataTemplate>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top