小编Vad*_*nda的帖子

在事件触发器中处理自定义 RoutedEvent

我有以下树 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)

c# wpf events routed-events

4
推荐指数
1
解决办法
1299
查看次数

标签 统计

c# ×1

events ×1

routed-events ×1

wpf ×1