Wpf 如何从一个用户控件触发另一个用户控件的动画?

Wpf 如何从一个用户控件触发另一个用户控件的动画?,wpf,xaml,animation,user-controls,Wpf,Xaml,Animation,User Controls,我有一个应用程序,其中顶层有一个主窗口,其中包含多个用户控件。我在一个UserControls上有一个按钮,希望在另一个UserControls中触发动画。怎么办?我尝试了Blend,但时间线不允许我访问其他用户控件 简而言之,我想在现有应用程序旁边显示一个UserControl(比如X),单击按钮就会淡入。按钮点击在另一个用户控件中,比如说Y,并且UserControl X和UserControl Y都在主窗口中。我希望我已经说清楚了。举个例子: <local:TimeBox x:Nam

我有一个应用程序,其中顶层有一个主窗口,其中包含多个用户控件。我在一个UserControls上有一个按钮,希望在另一个UserControls中触发动画。怎么办?我尝试了Blend,但时间线不允许我访问其他用户控件

简而言之,我想在现有应用程序旁边显示一个UserControl(比如X),单击按钮就会淡入。按钮点击在另一个用户控件中,比如说Y,并且UserControl X和UserControl Y都在主窗口中。我希望我已经说清楚了。

举个例子:

<local:TimeBox x:Name="timeBox">
    <local:TimeBox.RenderTransform>
        <TranslateTransform />
    </local:TimeBox.RenderTransform>
</local:TimeBox>

<local:CustomComboBox>
    <local:CustomComboBox.Triggers>
        <EventTrigger RoutedEvent="local:CustomComboBox.ApplyClick">
            <BeginStoryboard>
                <Storyboard>
                    <DoubleAnimation Storyboard.Target="{x:Reference timeBox}"
                                     Storyboard.TargetProperty="RenderTransform.X"
                                     From="-500" To="0" Duration="0:0:1">
                        <DoubleAnimation.EasingFunction>
                            <ExponentialEase Exponent="5" EasingMode="EaseOut"/>
                        </DoubleAnimation.EasingFunction>
                    </DoubleAnimation>
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger>
    </local:CustomComboBox.Triggers>
</local:CustomComboBox>
例如:

<local:TimeBox x:Name="timeBox">
    <local:TimeBox.RenderTransform>
        <TranslateTransform />
    </local:TimeBox.RenderTransform>
</local:TimeBox>

<local:CustomComboBox>
    <local:CustomComboBox.Triggers>
        <EventTrigger RoutedEvent="local:CustomComboBox.ApplyClick">
            <BeginStoryboard>
                <Storyboard>
                    <DoubleAnimation Storyboard.Target="{x:Reference timeBox}"
                                     Storyboard.TargetProperty="RenderTransform.X"
                                     From="-500" To="0" Duration="0:0:1">
                        <DoubleAnimation.EasingFunction>
                            <ExponentialEase Exponent="5" EasingMode="EaseOut"/>
                        </DoubleAnimation.EasingFunction>
                    </DoubleAnimation>
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger>
    </local:CustomComboBox.Triggers>
</local:CustomComboBox>