Ресурси, як правило, визначення, пов'язані з будь-якої об'єкт, який ви тільки передбачати використовувати частіше, ніж один раз. Це можливість зберігати дані локально для управління або для поточного вікна або глобально для всього програми.
Визначення об'єкта як ресурс дозволяє отримати до нього доступ з іншого місця. Що це означає, що об'єкт може бути використаний повторно. Ресурси визначаються в словниках ресурсів і будь-який об'єкт може бути визначений як ресурс ефективного робить його розділяються актив. Унікальний ключ вказується на XAML ресурс і за допомогою цього ключа, його можна посилатися за допомогою розширення розмітки StaticResource.
Ресурси можуть бути двох типів -
StaticResource є одноразовим пошуку, в той час як DynamicResource працює більше як зв'язування даних. Він пам'ятає, що властивість пов'язана з певним ключовим ресурсом. Якщо об'єкт, пов'язаний з цим ключовими змінами, динамічний ресурс буде оновлювати цільове властивість.
Ось просте додаток для SolidColorBrush ресурсу.
Давайте створимо новий проект WPF сWPFResouces ім'ям.
Перетягніть два прямокутника і встановити їх властивості, як показано в наступному коді XAML.
У наведеному вище коді XAML, ви можете побачити, що один прямокутник має StaticResource, а інший має DynamicResource і колір brushResource є Bisque.
При компіляції та виконання коду, він буде виробляти наступне MainWindow.
При натисканні на кнопку "Змінити ресурс", ви побачите, що прямокутник з DynamicResource змінить свій колір на червоний.
обсяг ресурсів
Ресурси визначаються всловарях ресурсів, але є безліч місць. де можна визначити словник ресурсів. У наведеному вище прикладі, словник ресурсів визначається на рівні вікна / сторінки. В якому словнику ресурс негайно визначається не обмежує обсяг цього ресурсу. Так обсяг, тобто, де ви можете використовувати ресурс, залежить від того, де ви визначили його.
Визначити ресурс в словнику ресурсів сітки і він доступний за цим сітці і тільки його дочірніх елементів.
Визначити його на вікні / сторінці, і це є для всіх елементів на цьому вікні / сторінці.
Коренева додаток можна знайти в словнику App.xaml ресурсів. Це корінь нашого застосування, тому ресурси, визначені в цьому знаходяться в області видимості до всього з додатком.
Наскільки обсяг ресурсів, то найбільш часто на рівні додатків, на рівні сторінки, а також певний рівень елемента як Grid, StackPanel і т.д.
Вище додаток має ресурси в рівні вікна / сторінки.
Словники ресурсів
словники ресурсів в додатках XAML означає, що словники ресурсу зберігаються в окремих файлах. За нею йдуть майже у всіх додатках XAML. Визначення ресурсів в окремих файлах можуть мати такі переваги -
Поділ між визначенням ресурсів в словнику ресурсів і пов'язаних з ними UI коду.
Визначення всіх ресурсів в окремому файлі, такі як App.xaml б зробити їх доступними через додаток.
Отже, як ми визначаємо наші ресурси в словнику ресурсів в окремому файлі? Ну, це дуже легко, просто додати новий словник ресурсів через Visual Studio, виконавши наступні кроки наведені нижче -
У вашому рішенні, додати нову папку і назвіть егоResourceDictionaries.
Клацніть правою кнопкою миші на цій папці і виберіть Resource Dictionary з підміню Add пункту і назвіть егоDictionaryWithBrush.xaml
Давайте тепер візьмемо той же самий приклад, але тут, ми визначимо словник ресурсів в рівні додатків. Код XAML для MainWindow.xaml виглядає наступним чином -
Ось реалізація в DictionaryWithBrush.xaml -
Ось реалізація в app.xaml -
Коли наведений вище код компілюється і запускається, він буде виробляти такий висновок -
При натисканні на кнопку Змінити ресурс, прямокутник змінить свій колір на червоний.