找不到具有名称/键 X 的资源
Posted
技术标签:
【中文标题】找不到具有名称/键 X 的资源【英文标题】:Cannot find a Resource with the Name/Key X 【发布时间】:2018-01-05 06:33:12 【问题描述】:我使用 Blend 更改了一些控件的样式,它会自动生成一些样式。但是对于一些随机用户会发生此错误:
找不到具有名称/键的资源 PivotPreviousButtonBorderBrush [行:0 位置:0]
键有时是ListViewItemBackground
等。
为什么某些设备中缺少这些默认资源?如何预防? 谢谢。
【问题讨论】:
【参考方案1】:ListViewItemBackground
最初是在 Windows 10 周年更新 (14393) 中引入的,如果您的用户仍在使用 10586,他们将遇到上面列出的错误。
这就是生成针对 SDK10586 的样式总是更安全的原因。但是,如果您想要新样式,例如在这种情况下,您可以在 App.xaml
中手动定义它们。
要检查所有可用的样式和其他资源,请查看内部每个版本控制文件夹下的所有 generic.xaml 文件
C:\Program Files (x86)\Windows 套件\10\DesignTime\CommonConfiguration\Neutral\UAP
【讨论】:
谢谢贾斯汀。我的应用程序的目标最低为 10240,并且不需要新引入的功能。我如何知道我的App.xaml
中的任何现有资源是否与旧版本兼容?
我不知道生成样式时可以针对特定的 SDK
您必须运行应用程序才能找到答案。您仍然可以使用更高版本的 sdk 生成样式,但您应该始终在较低的 sdk 上进行测试,以确保没有损坏的资源。没有其他方法可以知道。【参考方案2】:
如果您使用的是 Microsoft.UI.Xaml.Controls 库 - 您应该添加对 app.xaml 的引用:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
【讨论】:
以上是关于找不到具有名称/键 X 的资源的主要内容,如果未能解决你的问题,请参考以下文章
找不到与给定名称匹配的资源 (@style/AppTheme)
错误:找不到与给定名称匹配的资源:Eclipse 中的 attr 'colorAccent'