无法找到名称/关键字为X的资源

5

我使用 Blend 更改了一些控件的样式,它自动生成了一些样式。但是对于一些随机用户,会出现以下错误:

无法找到名称/键为 PivotPreviousButtonBorderBrush 的资源 [行:0 位置:0]

键有时是 ListViewItemBackground 等。

为什么这些默认资源在某些设备上缺失?如何防止这种情况发生? 谢谢。

2个回答

3
如果您正在使用 Microsoft.UI.Xaml.Controls 库,则应向 app.xaml 添加引用:
<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

1
"

ListViewItemBackground最初是在Windows 10周年更新(14393)中引入的,如果您的用户仍在使用10586,他们将遇到上面列出的错误。

这就是为什么始终更安全的方法是生成针对SDK 10586的样式。但是如果您想要新的样式,比如在这种情况下,您可以在App.xaml中手动定义它们。

要查看所有可用的样式和其他资源,请查看每个版本文件夹内的所有generic.xaml文件

C:\ Program Files(x86)\ Windows Kits \ 10 \ DesignTime \ CommonConfiguration \ Neutral \ UAP

"

谢谢Justin。我的应用程序的目标最低版本是10240,不需要新引入的功能。我如何知道我的App.xaml中是否存在的任何现有资源与旧版本兼容? - Blendester
我不知道在生成样式时可以针对特定的SDK进行目标定位。 - Blendester
你必须运行应用程序才能找出答案。虽然您仍然可以使用较新的SDK生成样式,但是您应该始终在较低的SDK上进行测试,以确保没有损坏的资源。没有其他方法可以知道。 - Justin XL

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接