Как я использую глобальные ресурсы в WPF?

У меня есть приложение WPF, в котором я хотел бы использовать некоторые статические ресурсы. Я создал Библиотеку ресурсов файл XAML, который содержит ресурс. Я также добавил строку в Ресурсы проекта через панель Properties.

Я предположил, что мог просто использовать эти ресурсы с выражением привязки:

{StaticResource ResourceName}

Но Visual Studio говорит мне, что ресурсы не найдены. Я должен включать некоторую форму ссылки в моем XAML? Примеры, которые я видел только, включают ресурсы локально, такие как:

<Window.Resources>, <Page.Resources> etc

Я не хочу включать ресурсы локально, потому что я хочу, чтобы они были доступны нескольким частям приложения.

13
задан Banford 26 May 2010 в 09:53
поделиться

2 ответа

Поместите их в App.xaml :)

В каждом WPF-приложении есть файл App.xaml (и соответствующий ему файл кода файл, App.xaml.cs или App.xaml.vb) который работает как глобальный файл для глобальных деклараций приложения. Вы можете использовать этот файл для объявления постоянного внешний вид и функциональность всего приложения. Например, вы можете объявить по умолчанию красный фон для всех кнопок в приложении.

http://www.microsoft.com/emea/msdn/thepanel/en/articles/introduction_wpf.aspx

11
ответ дан 2 December 2019 в 00:02
поделиться

См. Раздел «Поведение при поиске статических ресурсов» здесь . Все, что есть в словаре ресурсов приложения (например, Application.Resources ), доступно глобально. Каждый раз, когда вы ищите ресурс с заданным ключом, и этот ключ не используется нигде в иерархии локальных словарей ресурсов, будет возвращен тот, который находится в словаре приложения.

Чтобы заполнить словарь ресурсов приложения в XAML, найдите файл XAML для приложения (обычно App.xaml) и добавьте элемент Application.Resources .

2
ответ дан 2 December 2019 в 00:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: