【问题标题】:Visual Studio gives error on valid XAMLVisual Studio 在有效 XAML 上给出错误
【发布时间】:2016-09-20 15:03:55
【问题描述】:

我使用 Visual Studio 2015 在 WPF XAML 中编写了一个自定义控件。我为它编写了一个小测试应用程序,一旦我开始工作,就将它复制到另一个应用程序中。我的 XAML 中有错误。在这段代码中:

<Canvas.Triggers>
    <EventTrigger RoutedEvent="MouseEnter" SourceName="imgCenter">
        <BeginStoryboard Name="GlowAnimation">
            <Storyboard>
                <DoubleAnimation 
                    Storyboard.TargetName="cirHighlight"
                    Storyboard.TargetProperty="Opacity"
                    From="0"
                    To="1"
                    Duration="0:0:0.5" />
            </Storyboard>
        </BeginStoryboard>
    </EventTrigger>
    ...

MouseEnter 出现错误。它显示为红色,将鼠标悬停在上面会显示消息:

EventTrigger.RoutedEvent
无法解析符号“MouseEnter”

我有几个触发器,它们都给我RoutedEvent上的红色文本和错误消息。

这很奇怪,但更奇怪的是它实际上可以编译和工作:触发器按预期工作和操作。但令人沮丧的是,它们在编辑器中显示为错误。我是 WPF 中动画的新手,我依靠 IDE 来告诉我是否做错了什么。所以现在,IDE 认为我搞砸了,但框架执行得很好。

知道发生了什么以及如何解决它吗?

编辑

我忘了提到我正在使用 ReSharper。看来这可能是问题的根源。

编辑

ReSharper 绝对是问题所在。我在没有 ReSharper 的工作站上将我的解决方案加载到 Visual Studio 中,果然没有错误。

【问题讨论】:

标签: wpf xaml visual-studio-2015


【解决方案1】:

试试下面:

<EventTrigger RoutedEvent="MouseEnter" SourceName="imgCenter">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
 <DoubleAnimation 
                Storyboard.TargetName="cirHighlight"
                Storyboard.TargetProperty="Opacity"
                From="0"
                To="1"
                Duration="0:0:0.5" />
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>

【讨论】:

【解决方案2】:

按照@maulik 和@FreeMan 的建议,我去了其他帖子。那里的解决方案不起作用,但它让我更仔细地研究了一些东西。单击违规行旁边的灯泡(是 ReShaper 还是 Visual Studio 这样做的?),它建议我更改格式:

<EventTrigger RoutedEvent="MouseEnter" SourceName="imgCenter">

到这里:

<EventTrigger SourceName="imgCenter">
    <EventTrigger.RoutedEvent>MouseEnter</EventTrigger.RoutedEvent>

尽管它们只是在语法上不同,但第二个版本不会显示错误。我不确定我是否真的喜欢这个解决方案——我可能不得不卸载并重新安装 ReSharper 以保持相同的语法——但它确实消除了错误。

【讨论】:

    猜你喜欢
    • 2017-04-28
    • 2022-07-25
    • 1970-01-01
    • 2016-05-08
    • 1970-01-01
    • 1970-01-01
    • 2015-01-04
    • 2019-07-26
    • 1970-01-01
    相关资源
    最近更新 更多