从应用程序的其他类使用“FindResource”

时间:2014-10-10 15:39:46

标签: c# xml wpf static resources

我必须使用FindResource(“key”)方法。在我的MainWindow类中,它可以工作。

我要在另一个类中使用它,但我不能用MainWindow类的新实例来引用它,因为这给了我一些问题(现在不相关)。

所以,我已经在我的MainWindow类中声明了一个静态方法,但是,因此我不能在静态方法中使用“this”,我写道:

public static string getFromDict(string key){
    View.MainWindow v = new View.MainWindow();
    return v.getResource(key);
}

private string getResource(string key) {
    return this.FindResource(key).ToString();
}

这仍然给我带来麻烦,因为正如你所看到的,我也在这里创建了一个新的MainWindow实例。

那么,从另一个类,我如何使用findResource方法? (我想要阅读的资源是xml中的一些词条,包含在项目中:我已经在其他代码中正确阅读了它们。)

1 个答案:

答案 0 :(得分:10)

如果有资源字典,则无需调用MainWindow的FindResource 您可以按照以下方式调用FindResource,

using System.Windows;

Application.Current.FindResource("YOUR-RESOURCE-KEY");