WPF DataTemplate_DataTrigger Animation

今天找到个明白人,终于把DataTrigger里的动画搞出来了

              <DataTrigger Binding="{Binding Path=IsSelected, RelativeSource={RelativeSource TemplatedParent}}" Value="True">
                <DataTrigger.EnterActions>
                  <BeginStoryboard>
                    <Storyboard>
                      <DoubleAnimation
                        Storyboard.TargetName="ImageBorder"
                        Storyboard.TargetProperty="Opacity" From ="0.3"
                        To="0.85" Duration="0:0:2" />
                      <DoubleAnimation
                        Storyboard.TargetName="TBTitle"
                        Storyboard.TargetProperty="Opacity" From ="0.3"
                        To="0.85" Duration="0:0:2" />
                      <DoubleAnimation
                        Storyboard.TargetName="TBDate"
                        Storyboard.TargetProperty="Opacity" From ="0.3"
                        To="0.85" Duration="0:0:2" />
                      <DoubleAnimation
                        Storyboard.TargetName="TBTime"
                        Storyboard.TargetProperty="Opacity" From ="0.3"
                        To="0.85" Duration="0:0:2" />
                      <DoubleAnimation
                       Storyboard.TargetName="TBChannel"
                       Storyboard.TargetProperty="Opacity" From ="0.3"
                       To="0.85" Duration="0:0:2" />
                      <DoubleAnimation
                        Storyboard.TargetName="VideoThumbnail"
                        Storyboard.TargetProperty="Opacity" From ="0.3"
                        To="0.85" Duration="0:0:2" />
                    </Storyboard>
                  </BeginStoryboard>
                </DataTrigger.EnterActions>
                <DataTrigger.ExitActions>
                  <BeginStoryboard>
                    <Storyboard>
                      <DoubleAnimation
                        Storyboard.TargetName="ImageBorder"
                        Storyboard.TargetProperty="Opacity" From="0.85"
                        To="0.3" Duration="0:0:3" />
                      <DoubleAnimation
                        Storyboard.TargetName="TBTitle"
                        Storyboard.TargetProperty="Opacity" From="0.85"
                        To="0.3" Duration="0:0:2" />
                      <DoubleAnimation
                        Storyboard.TargetName="TBDate"
                        Storyboard.TargetProperty="Opacity" From="0.85"
                        To="0.3" Duration="0:0:2" />
                      <DoubleAnimation
                        Storyboard.TargetName="TBTime"
                        Storyboard.TargetProperty="Opacity" From="0.85"
                        To="0.3" Duration="0:0:2" />
                      <DoubleAnimation
                       Storyboard.TargetName="TBChannel"
                       Storyboard.TargetProperty="Opacity" From="0.85"
                       To="0.3" Duration="0:0:2" />
                      <DoubleAnimation
                        Storyboard.TargetName="VideoThumbnail"
                        Storyboard.TargetProperty="Opacity" From="0.85"
                        To="0.3" Duration="0:0:2" />
                    </Storyboard>
                  </BeginStoryboard>
                </DataTrigger.ExitActions>
              </DataTrigger>

 

WPF DataTemplate 是一种用于定义数据绑定方式的控件。它可以将数据对象和界面元素进行绑定,用于显示数据对象的内容。 下面是一个简单的 DataTemplate 示例: ```xml <DataTemplate DataType="{x:Type local:Person}"> <StackPanel> <TextBlock Text="{Binding FirstName}"/> <TextBlock Text="{Binding LastName}"/> </StackPanel> </DataTemplate> ``` 在上面的代码中,我们定义了一个 DataTemplate,它的 DataType 属性指定了数据对象的类型,这里是 local:Person。在 DataTemplate 中,我们使用了一个 StackPanel 控件,其中包含了两个 TextBlock 控件,用于显示 Person 对象的 FirstName 和 LastName 属性。通过在 TextBlock 的 Text 属性中使用 Binding 表达式,我们将控件与数据对象进行了绑定,当数据对象发生变化时,控件会自动更新显示内容。 在使用 DataTemplate 时,我们可以将其应用到不同的控件中,例如 ListBox、ComboBox 等。在控件中,我们可以通过设置 ItemTemplate 属性来应用 DataTemplate,用于显示数据对象的内容。例如: ```xml <ListBox ItemsSource="{Binding People}" ItemTemplate="{StaticResource PersonTemplate}"/> ``` 在上面的代码中,我们将 ListBox 的 ItemsSource 属性绑定到一个 People 集合上,然后使用 StaticResource 引用了上面定义的 PersonTemplate,用于显示集合中的每个 Person 对象。当 ListBox 显示时,每个 Person 对象都会使用 PersonTemplate 中定义的方式进行显示。这样,我们就可以快速、方便地实现了数据的绑定和显示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值