“动画制作”;这";及;其他";在WPF中

“动画制作”;这";及;其他";在WPF中,wpf,binding,Wpf,Binding,在任何列表控件中考虑以下数据模板: <DataTemplate> <TextBlock Text="{Binding}" /> </DataTemplate> 以及以下动画: <Window.Resources> <Storyboard x:Key="animExpand"> <DoubleAnimation Storyboard.TargetProperty="Width" To="400"

在任何列表控件中考虑以下数据模板:

<DataTemplate>
    <TextBlock Text="{Binding}" />
</DataTemplate>

以及以下动画:

<Window.Resources>
    <Storyboard x:Key="animExpand">
        <DoubleAnimation Storyboard.TargetProperty="Width" To="400" Duration="0:0:1" />
        <DoubleAnimation Storyboard.TargetProperty="Height" To="400" Duration="0:0:1" />
    </Storyboard>
    <Storyboard x:Key="animCollapse">
        <DoubleAnimation Storyboard.TargetProperty="Width" To="0" Duration="0:0:1" />
        <DoubleAnimation Storyboard.TargetProperty="Height" To="0" Duration="0:0:1" />
    </Storyboard>
</Window.Resources>

现在我们想要:当任何文本块被点击时,“animExpand”应用于它,所有otherTextBlock都有一个“animCollapse”


第一部分很简单(触发器就可以了),但问题是如何让其他元素参与到这个场景中

我想我应该在我的模型中放置一个布尔属性(IsExpanded或其他什么),然后创建一个datatrigger来根据该值执行动画。当在特定项目上发生鼠标向下移动时,您必须写入逻辑以更新列表中其他对象中的布尔值。

我想我应该在模型中放置一个布尔属性(IsExpanded或其他),然后创建一个datatrigger以根据该值执行动画。当某个特定项上发生鼠标下降时,必须写入逻辑以更新列表中其他对象中的布尔值