Используйте "FindResource" из других классов приложения

Я должен использовать метод FindResource ("ключ"). В моем классе MainWindow это работает.

Я должен использовать его в другом классе, но я не могу ссылаться на него с новым экземпляром класса MainWindow, потому что это дает мне некоторую проблему (не актуальную сейчас).

Итак, я объявил статический метод в своем классе MainWindow, но, таким образом, я не могу использовать "это" в статическом методе, я написал:

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 ответов


вам не нужно вызывать FindResource MainWindow, если есть словарь ресурсов.
Вы можете вызвать FindResource следующим образом,

using System.Windows;

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