WPF 自定义路由事件在 EventTrigger 中的应用
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。
原文地址: https://www.cveoy.top/t/topic/mrv5 著作权归作者所有。请勿转载和采集!