Start storyboard on a different control on a trigger in WPF

倖福魔咒の 提交于 2019-12-12 01:54:06

问题


If a storyboard animation is running on ellipse1 changing the opacity, can I trigger on its opacity at a certain value and start a storyboard animation on ellipse2 that will start a fade in on it?

<UniformGrid Columns="2">
    <Ellipse Width="25" Height="25" Name="ellipse1">
        <Ellipse.Triggers>
            <Trigger Property="Opacity" Value=".7">
                do something here to start a opacity fade in on ellipse2
            </Trigger>
        </Ellipse.Triggers>
    </Ellipse>
    <Ellipse Width="25" Height="25" Name="ellipse2">

    </Ellipse>
</UniformGrid>

回答1:


You could use a DataTrigger in ellipse2 to observe ellipse1:

<Ellipse Width="25" Height="25" Name="ellipse2">
    <Ellipse.Style>
        <Style TargetType="{x:Type Ellipse}">
            <Style.Triggers>
                <DataTrigger Binding="{Binding Opacity, ElementName=ellipse1}" Value="0.5">
                    <DataTrigger.EnterActions>
                        <BeginStoryboard>
                            <!-- Storyboard for ellipse 2 here -->
                        </BeginStoryboard>
                    </DataTrigger.EnterActions>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </Ellipse.Style>
</Ellipse>


来源:https://stackoverflow.com/questions/6222144/start-storyboard-on-a-different-control-on-a-trigger-in-wpf

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!