【问题标题】:WPF EventTriggers - Cannot convert string 'DragOver' in attribute 'RoutedEvent' to object of type 'System.Windows.RoutedEvent' in Visual Studio 2008WPF EventTriggers - 无法将属性“RoutedEvent”中的字符串“DragOver”转换为 Visual Studio 2008 中“System.Windows.RoutedEvent”类型的对象
【发布时间】:2017-12-07 20:39:03
【问题描述】:

我已经为 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,它被突出显示。 有什么想法吗?

【问题讨论】:

    标签: c# wpf xaml visual-studio-2008 eventtrigger


    【解决方案1】:

    我找到了解决方案。我需要在路由事件之前使用 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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-30
      • 1970-01-01
      • 1970-01-01
      • 2018-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多