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/4JR 著作权归作者所有。请勿转载和采集!