【发布时间】:2011-03-31 20:13:30
【问题描述】:
基本上,我有一个使用 DynamicResources 的 UserControl。应用程序使用该资源编译并运行良好,但看到此警告消息有点烦人。这让我怀疑我是否做对了,这只是一个误报,或者我做错了,并且碰巧从裂缝中溜走了。
<Grid Background="{DynamicResource AppDefaultBackgroundColor}">
...
</Grid>
那么,如果我正确使用它,我怎样才能摆脱这个警告信息呢?
如果我没有适当地使用它,它应该是什么样子才不会收到警告?
附:我的应用程序运行良好,但我希望在编译时不要出现任何编译警告。
【问题讨论】:
-
从哪里加载资源?您可能只需要更改项目的编译顺序。
-
如果您使用的是设计师:扔掉它,摆脱 90% 的所有错误警告和错误。 (注意:这个数字是虚构的,可能不完全准确)
-
我也在使用 VS 2010,但我不使用它的设计器。 (右键单击 XAML 文件 -> 打开方式... -> 源代码(文本)编辑器 -> 设置为默认值 -> 确定)我从来没有真正收到过这样的警告,而且人们已经说过好几次了当我提供设计师无法处理的解决方案时,我在这里不知道的警告。
-
为什么它是动态资源?如果资源在您的 App.xaml 中并且用户控件在同一个程序集中;为什么不让它成为一个静态资源!
-
根据评论here“动态资源在加载期间将表达式对象分配给属性,但直到运行时要求表达式对象提供值时才真正查找资源。这推迟了查找资源,直到在运行时需要它。” 所以忽略 IDE 警告。如果在运行时正确解析,它将消失!*
标签: wpf xaml compiler-warnings suppress-warnings dynamicresource