活动' foo'不是RoutedEvent

时间:2017-01-18 22:13:17

标签: wpf xaml visual-studio-2015 routed-events

我尝试在现有项目的用户控件中制作路由事件,但我收到错误消息The event 'foo' is not a RoutedEvent.

为了确保我不会发疯,我使用 违规代码(a Minimal, Complete, and Verifiable example")制作了一个示例项目。

我的示例项目中只有我没有收到任何错误消息。 但它的代码完全相同!

有没有人有什么想法?

即使出现错误消息,项目也会编译并且RoutedEvent正常工作!

我尝试清理项目,重建,重新启动VS和我的电脑,但不管我做什么,这个错误信息仍然存在。

我相信这只是一个IDE问题。

我正在使用Microsoft Visual Studio Professional 2015版本14.0.25431.01 Update 3

IDE=VS2015Pro

UserControl1.xaml.cs

namespace Okuma_FFP
{
    using System.Windows;
    using System.Windows.Controls;

    public partial class UserControl1 : UserControl
    {
        public UserControl1()
        {
            InitializeComponent();
            RaiseEvent(new RoutedEventArgs(fooEvent, this));
        }

        public static readonly RoutedEvent fooEvent = EventManager.RegisterRoutedEvent(
            "foo", RoutingStrategy.Direct, typeof(RoutedEventHandler), typeof(UserControl1));

        // Provide CLR accessors for the event 
        public event RoutedEventHandler foo
        {
            add { AddHandler(fooEvent, value); }
            remove { RemoveHandler(fooEvent, value); }
        }
    }
}

UserControl1.xaml

<UserControl x:Class="Okuma_FFP.UserControl1"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:local="clr-namespace:Okuma_FFP"
             mc:Ignorable="d" 
             d:DesignHeight="300" d:DesignWidth="300">
    <UserControl.Triggers>
        <EventTrigger RoutedEvent="local:UserControl1.foo">
            <BeginStoryboard>
                <Storyboard>
                    <ColorAnimation  
                        To="Blue"
                        Duration="0:0:5" 
                        Storyboard.TargetProperty="(Background).(SolidColorBrush.Color)"/>
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger>
    </UserControl.Triggers>
    <Grid>  </Grid>
</UserControl>

1 个答案:

答案 0 :(得分:3)

这是一个IDE错误 可能重复:Visual Studio displaying errors even if projects build

我从this answer提示并确保在清理解决方案和构建之间退出VS.

  
      
  1. 删除所有obj,bin,release和debug文件夹
  2.   
  3. 删除Project_Folder\.vs\Project_Name\v14\.suo
  4.   
  5. 在Visual Studio中打开解决方案
  6.   
  7. 清洁解决方案
  8.   
  9. 退出Visual Studio
  10.   
  11. 再次打开解决方案
  12.   
  13. 构建,构建,构建......
  14.   
  15. 确认它已修好并去喝咖啡
  16.