大婶们,晚上好,有个问题请教大家.
在 UserControl.Resource 中,定义 ItemControl 的 DataTemplate
<DataTemplate x:Key="DtFilpItemView" DataType="model:EyeImage"> <Image Stretch="Uniform" x:Name="FlipViewImageControl" Source="{Binding ., Converter={StaticResource ImageToPathConverter}, ConverterParameter=Media}"> <Image.LayoutTransform> <RotateTransform /> </Image.LayoutTransform> </Image> </DataTemplate>
还有与之对应的 Storyboard
<Storyboard x:Key="SbRoateImage"> <DoubleAnimation From="0" To="180" IsAdditive="True" Duration="0:0:0.5" Storyboard.TargetProperty="(FrameworkElement.LayoutTransform).(RotateTransform.Angle)" Storyboard.Target="{Binding ElementName=FlipViewImageControl}" /> </Storyboard>
在 ItemControl 的外部有一个Button,通过Click事件,触发Storyboard 。
<UserControl.Triggers> <EventTrigger RoutedEvent="Button.Click" SourceName="BtnRoate"> <BeginStoryboard x:Name="SbOpenListViewBeginStoryboard" Storyboard="{StaticResource SbRoateImage}" /> </EventTrigger> </UserControl.Triggers>
不知什么原因,一直没有效果,对动画这块内容不太熟悉,请大婶们多多指导。
谢谢。
写了一个Converter , 使用VisualTreeHelper找到了ItemControl下的Image实例。