繁体   English   中英

WPF XAML 数据类型持续时间的设计器错误 - 构建成功但仍然抛出错误

[英]WPF XAML Designer Error with Datatype Duration - Build successful but still throws error though

这是我在这里的第一个问题,所以我希望我足够准确和清楚。

我正在开发一个 WPF 应用程序并使用 UserControl.Resources 创建了一个 UserControl,我在其中将 Storyboard 和重复值定义为 StaticResources。 其中一些重复值是动画的持续时间
因此,例如,我有两个 StaticResources,例如:

<UserControl.Resources>

   <Duration x:Key="DurationOpacity">0:0:2</Duration>

   <Storyboard x:Key="Listening">
      <DoubleAnimation Storyboard.TargetProperty="Opacity" From="1.0" To="0.3" Duration="{StaticResource DurationOpacity}" AutoReverse="True" RepeatBehavior="Forever" />        
   </Storyboard>

</UserControl.Resources>

当我构建应用程序时,它工作正常,但我的 Visual Studio XAML 设计器出现错误:

XDG0062 资源“DurationOpacity”的类型不兼容。

我也跟着错误链接,但我找不到任何有用的提示来解决这个问题。 有时有人说这是一个 VS 错误。

所以,我的问题基本上与功能无关,因为它可以构建和工作,但我得到了大量的错误列表(因为我在我的应用程序中使用了 50 次)。

所以我的问题:

  • 我真的为 Duration 使用了错误的类型吗? 如何将 Duration 声明为 StaticResource?
  • 是否与 VS 配置或缺少 DLL 或 Nuget 包有关?

我正在使用 VS Professional 2019 版本 16.6.1

感谢您的任何帮助或建议!

我试图重现您的问题。

我将资源直接放在主窗口中,并在 xaml 中启动了 storyboard。

这工作正常,没有错误。

<Window.Resources>
    <Duration x:Key="DurationOpacity">0:0:2</Duration>
    <Storyboard x:Key="Listening">
        <DoubleAnimation Storyboard.TargetProperty="Opacity" From="1.0" To="0.3" 
                         Duration="{StaticResource DurationOpacity}" 
                         AutoReverse="True" 
                         RepeatBehavior="Forever" />
    </Storyboard>

</Window.Resources>
<Grid>
    <Rectangle Fill="Red">
        <Rectangle.Triggers>
            <EventTrigger RoutedEvent="Loaded">
                <BeginStoryboard Storyboard="{StaticResource Listening}"/>
            </EventTrigger>
        </Rectangle.Triggers>
    </Rectangle>
</Grid>
</Window>

这是 vs2019,我的解决方案针对 net core 3.1,但我怀疑 10 多年来是否有任何变化会影响这一点。

如果您创建一个新的解决方案。 全新。 将我在上面发布的标记扔到主窗口中。 那是误会吗?

如果它出错,你有一个损坏的安装不知何故。

它可以工作,然后您的应用程序的其他地方出现问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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