C#,WPF-对从列表框中删除的项目进行动画处理

C#,WPF-对从列表框中删除的项目进行动画处理,c#,wpf,visual-studio-2010,C#,Wpf,Visual Studio 2010,将项目添加到我的列表框时获得了此XAML代码动画-效果非常好: <Window.Resources> <Style TargetType="{x:Type ListBoxItem}"> <Style.Triggers> <EventTrigger RoutedEvent="Loaded"> <EventTrigger.Actions>

将项目添加到我的列表框时获得了此XAML代码动画-效果非常好:

<Window.Resources>
    <Style TargetType="{x:Type ListBoxItem}">
        <Style.Triggers>
            <EventTrigger RoutedEvent="Loaded">
                <EventTrigger.Actions>
                    <BeginStoryboard>
                        <Storyboard>
                            <DoubleAnimation Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:0:2">
                            </DoubleAnimation>
                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger.Actions>
            </EventTrigger>
        </Style.Triggers>
    </Style>
</Window.Resources>

在删除列表框中的项目时,我是否也可以这样做

我有一个:

ObservableCollection<string> _data = new ObservableCollection<string>();
observetecollection\u data=newobservetecollection();
其中存储的项目

编辑:问题似乎是,当我从ObservaleCollection中删除它时,首先删除该项,然后运行动画-但由于该项不再存在,所以不会显示任何内容?我说得对吗


致以最诚挚的问候

请尝试编写另一个
EventTrigger
,将
RoutedEvent
设置为
FrameworkElement。已卸载的
和内部提供给您的
情节提要

尝试过了。它将不起作用,因为该项在动画出现之前已被删除。假设我为我的ObservableCollection创建了一个属性bool为“gonnabedeletted”的类。然后我可以为我想要删除的项目将其设置为true,然后动画应该首先发生,然后删除。但是,当我将items属性gonnabedeletted更新为true时,如何“侦听”更改?那么触发器会发生吗?如果您使用的是MVVM,它很简单。创建一个属性并在setter中写入:
NotifyPropertyChanged(“NameOfYourProperty”)
。如果您没有使用MVVM,让我们尝试在代码隐藏中实现INotifyPropertyChanged接口,并:
公共事件PropertyChangedEventHandler PropertyChanged;
公共void HandlePropertyChanged(string prop){如果(PropertyChanged!=null)PropertyChanged(这是新的PropertyChangedEventArgs(prop));}您可以在setter中编写:
HandlePropertyChanged(“NameOfYourProperty”)