[英]Visual Studio 2013 WPF UserControl RoutedEvent Name Already Used?
[英]WPF EventTriggers - Cannot convert string 'DragOver' in attribute 'RoutedEvent' to object of type 'System.Windows.RoutedEvent' in Visual Studio 2008
我为WPF按钮实现了一些触发器,如下所示:
<ControlTemplate.Triggers>
<EventTrigger RoutedEvent="DragOver">
<BeginStoryboard Storyboard="{StaticResource swap}"/>
<BeginStoryboard Storyboard="{StaticResource fadein}"/>
</EventTrigger>
<EventTrigger RoutedEvent="DragLeave">
<BeginStoryboard Storyboard="{StaticResource reset}"/>
<BeginStoryboard Storyboard="{StaticResource fadeout}"/>
</EventTrigger>
<EventTrigger RoutedEvent="Drop">
<BeginStoryboard Storyboard="{StaticResource reset}"/>
<BeginStoryboard Storyboard="{StaticResource fadeout}"/>
</EventTrigger>
</ControlTemplate.Triggers>
这在Visual Studio 2015中可以正常工作,但是在Visual Studio 2008中,它会抛出以下错误:
Cannot convert string 'DragOver' in attribute 'RoutedEvent' to object of type 'System.Windows.RoutedEvent'
我已将事件触发器中的上述路由事件更改为:
xaml解析器无法识别Mouse.DragOver,Mouse.DragLeave,Mouse.Drop,突出显示。 有任何想法吗?
我找到了解决方案。 我需要在Button事件之前加上路由事件,如下所示。 现在正在工作:
<ControlTemplate.Triggers>
<EventTrigger RoutedEvent="Button.DragOver">
<BeginStoryboard Storyboard="{StaticResource swap}"/>
<BeginStoryboard Storyboard="{StaticResource fadein}"/>
</EventTrigger>
<EventTrigger RoutedEvent="Button.DragLeave">
<BeginStoryboard Storyboard="{StaticResource reset}"/>
<BeginStoryboard Storyboard="{StaticResource fadeout}"/>
</EventTrigger>
<EventTrigger RoutedEvent="Button.Drop">
<BeginStoryboard Storyboard="{StaticResource reset}"/>
<BeginStoryboard Storyboard="{StaticResource fadeout}"/>
</EventTrigger>
</ControlTemplate.Triggers>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.