1

我在数据模板中有一个故事板。我只想在特定条件下启动它。在我的情况下,每当没有。时钟中的秒数是 59 故事板应该开始。

您可以在下面看到故事板以及应用动画的控件:

<!-- Minute Hand -->
                <Image
                    Source="{Binding Time, Converter={StaticResource MinHandBackground}}"
                    HorizontalAlignment="Left"                        
                    VerticalAlignment="Top"                        
                    Canvas.Left="118"
                    Canvas.Top="118">
                    <Image.RenderTransform>
                        <TransformGroup>
                            <TranslateTransform
                                X="-11"
                                Y="-90" />

                            <RotateTransform
                                x:Name="minHandTransform" />


                        </TransformGroup>
                    </Image.RenderTransform>

                    <Image.Triggers>


                        <EventTrigger
                            RoutedEvent="Image.Loaded">
                            <BeginStoryboard>
                                <Storyboard
                                    x:Name="myStoryboard2">
                                    <DoubleAnimation
                                        x:Name="minuteAnimation"
                                        Storyboard.TargetName="minHandTransform"
                                        Storyboard.TargetProperty="Angle"
                                        Duration="0:0:1"
                                        From="{Binding Time, Converter={StaticResource minuteHandTransform}}"
                                        To="{Binding Time, Converter={StaticResource minuteHandToTransform}}"
                                        RepeatBehavior="1x">
                                        <DoubleAnimation.EasingFunction>
                                            <SineEase
                                                EasingMode="EaseOut" />
                                        </DoubleAnimation.EasingFunction>
                                    </DoubleAnimation>
                                </Storyboard>
                            </BeginStoryboard>
                        </EventTrigger>

                    </Image.Triggers>
                </Image>

目前 BeginStoryboard 在加载时立即启动。我想在秒数为 59 时启动它,但我无法访问后端的情节提要,因为控件位于数据模板中。

任何人都可以在这里帮助我.....我已经为这个问题头疼了好几天了!!

4

1 回答 1

1

最简单的方法是将 DataTemplate 的全部内容移动到单独的 UserControl 中,这样您就可以更轻松地访问所有命名元素。

于 2013-01-09T17:02:39.427 回答