首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF EventTriggers -在Visual 2008中不能将属性'RoutedEvent‘中的字符串'DragOver’转换为'System.Windows.RoutedEvent‘类型的对象。

WPF EventTriggers -在Visual 2008中不能将属性'RoutedEvent‘中的字符串'DragOver’转换为'System.Windows.RoutedEvent‘类型的对象。
EN

Stack Overflow用户
提问于 2017-07-04 11:32:45
回答 1查看 140关注 0票数 0

我为WPF按钮实现了一些触发器,如下所示:

代码语言:javascript
复制
   <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 2015中运行得很好,但是在Visual 2008中,它会抛出在错误下面:

代码语言:javascript
复制
Cannot convert string 'DragOver' in attribute 'RoutedEvent' to object of type 'System.Windows.RoutedEvent'

我已将事件触发器中的以上路由事件更改为:

  • RoutedEvent="DragOver“-> RoutedEvent="Mouse.DragOver”
  • RoutedEvent="DragLeave“-> RoutedEvent="Mouse.DragLeave”
  • RoutedEvent=“-> RoutedEvent=”Mouse.Drop

Mouse.DragOver、Mouse.DragLeave、Mouse.Drop不被xaml解析器识别,是高亮显示的。有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2017-07-04 11:40:19

我已经找到了解决办法。我需要使用Button和下面这样的句点对路由事件进行预处理。现在正在发挥作用:

代码语言:javascript
复制
   <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>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44904850

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档