C#:无法仅从 MainWindow.xaml.cs 文件访问资源字典

问题描述 投票:0回答:1

在 Visual Studio 2022 中,我在 C# WPF 应用程序项目根目录的“Resources”文件夹中创建了一个 Resources.resx 文件。在所有类中,我可以使用

Resources.resourceName
毫无问题地访问存储在该文件中的资源,但不能在 MainWindow 类中访问。每当我尝试仅从 MainWindow.xaml.cs 文件访问资源时,都会收到以下错误:

“CS1061。‘ResourceDictionary’不包含‘resourceName’的定义,并且找不到接受‘ResourceDictionary’类型的第一个参数的可访问扩展方法‘resourceName’(您是否缺少 using 指令或程序集引用?)”

我使用以下代码实例化 Apps.xaml.cs 文件中的 MainWindow 类:

protected override void OnStartup(StartupEventArgs e)
{
    base.OnStartup(e);
    var mainWindow = new MainWindow();
}

为什么我只在 MainWindow 类中出现上述错误,而在其他类中却没有?

c# wpf visual-studio xaml resources
1个回答
0
投票

正如@Bilal在评论中建议的那样,解决方案是使用完全限定名称来访问资源:.Resources.resourceName,例如

MyApp.Resources.resourceName

这是因为 Resources 属性已经在 Window 类继承的 FrameworkElement 类中定义。

© www.soinside.com 2019 - 2024. All rights reserved.