WPF 自定义路由事件可以用于'EventTrigger',以便在事件发生时触发相应的操作。以下是一个示例:

首先,定义一个自定义路由事件,例如:

public static readonly RoutedEvent MyCustomEvent = EventManager.RegisterRoutedEvent(
    'MyCustomEvent', RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(MyClass));

public event RoutedEventHandler MyCustomEventHandler
{
    add { AddHandler(MyCustomEvent, value); }
    remove { RemoveHandler(MyCustomEvent, value); }
}

private void RaiseMyCustomEvent()
{
    RoutedEventArgs args = new RoutedEventArgs(MyClass.MyCustomEvent);
    RaiseEvent(args);
}

然后,在 XAML 中使用'EventTrigger'来触发操作,例如:

<Button Content='Click me'>
    <Button.Triggers>
        <EventTrigger RoutedEvent='local:MyClass.MyCustomEvent'>
            <BeginStoryboard>
                <Storyboard>
                    <DoubleAnimation Storyboard.TargetProperty='Opacity' To='0' Duration='0:0:1' />
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger>
    </Button.Triggers>
</Button>

在此示例中,当 MyCustomEvent 发生时,将启动一个 Storyboard 来将按钮的 Opacity 属性从 1 变为 0。

WPF 自定义路由事件在 EventTrigger 中的应用

原文地址: https://www.cveoy.top/t/topic/mrv5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录