繁体   English   中英

WPF EventTriggers-在Visual Studio 2008中无法将属性'RoutedEvent'中的字符串'DragOver'转换为类型'System.Windows.RoutedEvent'的对象

[英]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'

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

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

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM