wpf - 当项目添加到列表框时动画 WPF 数据模板?

标签 wpf data-binding xaml animation datatemplate

在我的项目中,我有一个绑定(bind)到 ObservableCollection 的 WPF 列表框。每次我向集合中添加新项目时,相同的项目都会自动添加到列表框中。 为了显示列表框中的项目,我使用 XAML 数据模板。

我想要做的是将项目添加到集合/列表框时为其设置动画一次。 这可以做到吗? 也许作为数据模板中的动画?我想我需要一个触发器来启动这个动画,但是当添加新项目/数据模板时会触发什么触发器?

最佳答案

我认为 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>

关于wpf - 当项目添加到列表框时动画 WPF 数据模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/637844/

相关文章:

C# WPF 组合框可编辑只允许列表中的选项

wpf - ViewModel -> 模型交互

c# - 仅用于消息循环的 WPF 窗口句柄

c# - 如何克隆 WPF 对象?

wpf - 没有根据 ContentControl 中的数据类型点击我的数据模板,为什么不呢?

WPF:将宽度(和高度)设置为百分比值

c# - 如何绑定(bind)到 CheckedListBox.SelectedItems.Count

javascript - SAPUI5中数据绑定(bind)是如何实现的?

c# - 将 XAML 事件订阅到不同 C# 文件中的事件处理程序

c# - 命名空间中的 URL 引用,它们是如何工作的?