我有以下树 MainWindow -> Custom UserControl -> GroupBox -> ViewBox
我已经向 UserControl 添加了一个自定义路由事件,如下所示:
public static readonly RoutedEvent ConnectedEvent =
EventManager.RegisterRoutedEvent("Connected", RoutingStrategy.Tunnel,
typeof(RoutedEventHandler), typeof(IQMasterControl));
public event RoutedEventHandler Connected
{
add { AddHandler(IQMasterControl.ConnectedEvent, value); }
remove { RemoveHandler(IQMasterControl.ConnectedEvent, value); }
}
Run Code Online (Sandbox Code Playgroud)
事件的调用如下:
_masterViewModel.Connected += delegate ()
{
RoutedEventArgs ea = new RoutedEventArgs(IQMasterControl.ConnectedEvent, this);
this.RaiseEvent(ea);
};
Run Code Online (Sandbox Code Playgroud)
我想使用事件触发器在“连接”事件上的 ViewBox 上运行一些动画:
<Viewbox VerticalAlignment="Center"
Child="{StaticResource PDataIco}"
RenderTransformOrigin="0.5, 0.5" Stretch="Uniform">
<Viewbox.RenderTransform>
<!-- the transform a name tells the framework not to freeze it -->
<RotateTransform x:Name="noFreeze" />
</Viewbox.RenderTransform> …Run Code Online (Sandbox Code Playgroud)