Зміна стилю елемента керування, що підтримує шаблони, у Blend, Microsoft Docs

Можна налаштувати елементи керування Windows Presentation Foundation (WPF) та Microsoft Silverlight шляхом створення та зміни шаблонів та стилів. Це призводить до унікального та узгодженого вигляду програми.

Шаблони та стилі визначають фрагменти, з яких складається елемент управління, та його поведінка відповідно. Шаблони та стилі можна створювати шляхом копіювання системних шаблонів та стилів елементів керування за умовчанням (оскільки змінювати системні шаблони та стилі неможливо). Зміна шаблонів та стилі є простим способом створення нових елементів керування у поданніКонструктор Blend для Visual Studio без використання коду.

Відмінності між стилями та шаблонами

У наведеній нижче таблиці наведено порівняльні відомості щодо стилів і шаблонів, які допомагають визначити, чи потрібна зміна стилю або шаблону елемента управління або зміна обох цих компонентів.

За допомогою стилю можна змінювати значення за промовчанням властивостей, заданих для елемента керування, до якого цей стиль застосовується. Зокрема, можна визначити кольори за промовчанням фону, межі та переднього плану елемента керування, наприклад, кнопки.

Ці властивості стилю можуть бути визначені значеннями, заданими для елемента управління при його малюванні на монтажній панелі. Наприклад, якщо в стилі кнопки для кольору фону встановлено синій колір, кнопка буде малювання на монтажній панелі синій, але колір можна змінити.

У стилі можна задати лише існуючі властивості. Наприклад, не можна задати значення за промовчанням для властивості, яка стосується нової частини, доданої до шаблону.

Нарешті, стилі можна використовувати для завдання поведінки елементакерування за замовчуванням. Наприклад, у стилі кнопки можна вказати тригер, щоб при наведенні користувачем покажчика миші на кнопку колір фону змінювався. Ці зміни властивостей відбуваються миттєво (вони не можуть поступово анімуватися).

За допомогою шаблонів можна змінювати структуру елементів керування, до яких вони використовуються. Можна змінити шаблон елемента керування, щоб змінити порядок, додавання або видалення об'єктів (або частин) цього елемента. Наприклад, до елемента керування "кнопка" можна додати фонове зображення або оформлення.

Також можна змінювати значення властивостей (наприклад, кольори фону), задані для елемента керування, до якого застосовується шаблон. Ці значення шаблону не можуть бути визначені значеннями, заданими для елемента керування при його малюванні на панелі монтажу. Однак можна використовувати прив'язку шаблону для завдання його властивостей згідно з поточними значеннями властивостей елемента керування під час малювання на монтажній панелі.

При зміні шаблону є доступ до більшої кількості елементів керування, ніж при зміні стилю. Наприклад, шляхом зміни шаблону елементів можна змінити спосіб відображення спливаючого списку в полі зі списком або вид кнопки, що активує спливаючому списку в полі зі списком. Деякі шаблони складаються з наведених нижче частин.

ContentPresenter Засіб відображення вмісту. Це місцезаповнювач у шаблоні елемента керування для відображення вмісту елемента керування, до якого застосовано шаблон. Це може бути значення властивості вмісту (наприклад, кнопки) або властивості тексту (у текстовому полі).

Header Деякі елементи керування мають декілька властивостей із вмістом. У цьому випадку додатковий засіб відображення вмісту використовуєтьсяу шаблоні як заповнювач для типу вмісту, що застосовується як заголовок. Приклад елемента керування із заголовком — елемент керування типу елемента вкладки, в якому заголовком є ​​мітка на вкладці, а вміст відображається під заголовком.

ItemsHost Вузол елементів. Використовується як заповнювач для дочірніх об'єктів елемента управління. Частина вузла елементів шаблону визначається виразом IsItemsHost = True на панеліВластивості.

ItemContainerTemplate елемент шаблону контейнера. Застосовується до елемента керування, який містить такі елементи, як елемент керування Menu або List. Цей шаблон використовується для додавання елементів до списку.

Нарешті, за допомогою тригерів можна встановити поведінку всіх нових і існуючих частин у шаблоні. Наприклад, можна вказати тригер, щоб при наведенні користувачем покажчика миші на кнопку колір однієї частини змінювався. Ці зміни властивостей можуть бути миттєвими або анімованими для забезпечення плавного переходу.

У режимі редагування стилю можна перейти такими способами.

Використання меню

На панеліОб'єкти та часова шкала виберіть елемент керування.

У менюОб'єкт виберітьПравка стилю.

Виконайте одну з таких дій.

КлацнітьРедагування поточного (якщо потрібно змінити стиль, застосований на даний момент до елемента керування).

НатиснітьРедагувати копію (щоб одночасно створити нову копію стилю, застосованого в даний момент до елемента керування, і застосувати до цього елемента новий стиль).

Якщо до елемента керування застосований системний стиль,Правка стилю буде недоступним.

Використання панелі ресурсів (для зміни існуючого стилю)

На панеліРесурси знайдіть потрібний стиль і натисніть поряд з ним кнопкуРедагування ресурсу.

У режимі редагування шаблону елемента керування можна перейти такими способами.

Використання меню

На панеліОб'єкти та часова шкала виберіть елемент керування.

Виконайте одну з таких дій.

У менюОб'єкт виберітьПравка шаблону.

Клацніть правою кнопкою миші елемент керування та виберітьПравка шаблону.

НатиснітьПравка поточного (якщо потрібно змінити шаблон, застосований в даний момент до елемента керування) абоПравка копії (щоб одночасно створити нову копію шаблону, застосованого в даний момент до елемента керування, та застосувати до цього елемента новий шаблон). Якщо до елемента керування застосований системний шаблон,Редагування поточного буде недоступним.

Використання панелі ресурсів (для зміни існуючого шаблону)

На панеліРесурси знайдіть стиль, що містить шаблон, і натисніть поряд з ним кнопкуРедагування ресурсу.

На панеліОб'єкти та часова шкала клацніть правою кнопкою миші об'єктСтиль, виберітьРедактування шаблону, а потімРедагування поточного.

Існуючий стиль можна застосувати до елемента керування на панелі монтажу наступними способами.

Використання меню

На панеліОб'єкти та часова шкала виберіть елемент керування.

У менюОб'єкт послідовно виберіть пунктиПравка стилю іЗастосувати ресурс, а потім у списку, що з'явиться, виберіть стиль. У списку, що розкривається, відображатимуться лише стилі, доступні для вибраного елемента керування. Наприклад, стиль текстового поляне можна застосувати до кнопки.

Використання панелі активів для малювання елемента керування із застосованим стилем на монтажній панелі

Відкрийте панельАктиви, натиснувшиАктиви.

Виконайте одну з таких дій.

Виберіть потрібний стиль і малюйте на монтажній панелі.

Існуючий шаблон можна застосувати до елемента керування на панелі монтажу наступними способами.

Використання меню

На панеліОб'єкти та часова шкала виберіть елемент керування.

У менюОб'єкт послідовно виберіть пунктиПравка шаблону іЗастосувати ресурс, а потім у списку, що з'явиться, виберіть шаблон. У списку, що розкривається, відображатимуться лише шаблони, доступні для вибраного елемента керування. Наприклад, шаблон текстового поля не можна застосувати до кнопки.

Використання панелі активів для малювання шаблонного елемента керування на монтажній панелі

Шаблони містяться у стилях. Для застосування шаблону до елемента керування на панелі монтажу використовуйте той же метод, що і для застосування стилів.

Blend має ряд простих стилів і шаблонів, упакованих у словник ресурсів проектів WPF. Словники ресурсів можна використовувати для розробки теми програми. Додаткові відомості див. у розділі "Прості стилі та словники ресурсів" в цьому розділі.

Зміна стилів та шаблонів

Під час знаходження в області редагування стилю або шаблону Blend у верхньому лівому куті панелі панелі відображається рядок навігації.

Рядок навігації з вибраним режимом редагування шаблону

підтримує

Натискаючи кнопки в рядку навігації, можна швидко переміщатися між режимом редагування шаблону, режимомредагування стилю та областю редагування об'єкта для вибраного об'єкта. Рядок навігації відображається для будь-якого вибраного об'єкта, до якого застосовано власний стиль або шаблон.

Відомості про зміну стилю та шаблону див. у розділі Зміна стилю Blend та Створення та зміна шаблону Blend.

Рекомендації

У разі зміни стилів або шаблонів переконайтеся, що виконуються рекомендації, наведені далі.

Уникайте змінювати наявні тригери, крім випадків, коли змінюються лише кольорові кисті.

Не перейменовуйте та не змінюйте жодні об'єкти, імена яких починаються з "PART_", оскільки посилання на ці об'єкти містяться в коді, що реалізує цей елемент керування.

Не видаляйте будь-які допоміжні об'єкти, наприклад TabPanel у SimpleTabControl або Track у SimpleScrollBar. Ці об'єкти повинні бути присутніми для збереження можливостей елемента керування.

Не скидайте та не змінюйте будь-які прив'язки на панеліВластивості. Вони позначаються жовтим виділенням навколо властивості або жовтою кнопкоюДодаткові параметри. Прив'язка до шаблону використовується для прив'язування властивостей шаблону до властивостей елемента управління, до якого застосований шаблон.

Якщо шаблон містить об'єкт засобу відображення (наприклад, об'єкт ContentPresenter або ItemsPresenter ), переконайтеся, що цей об'єкт зберігається в шаблоні. Об'єкти засобу відображення показують вміст, визначений елемент управління, до якого застосований шаблон.

При зміні стилів та шаблонів слід пам'ятати ці основні рекомендації, щоб не порушити роботу системного елемента керування, до якого застосовується стиль або шаблон.

Тема — це набір стилів та шаблонів, які формують узгоджений вигляд елементівуправління інтерфейсом користувача.

Для визначення зовнішнього вигляду елемента керування (наприклад, кнопки) програма шукає в наступних місцях.

Властивості, задані для елемента керування Наприклад, якщо необхідно створити кнопку в Blend, а потім змінити колір фону безпосередньо на кнопці. Налаштування якості безпосередньо в елементі керування перевизначає всі значення для цієї властивості, задані в будь-якому іншому місці.

Властивості, задані в стилі користувача або шаблоні, який використовується елементом керування Наприклад, якщо необхідно створити кнопку в Blend, а потім змінити копію шаблону для завдання кольору фону в шаблоні. Це колір фону, який використовуватиметься для кнопки, якщо властивість фону не задано безпосередньо на кнопці. Можна визначити ресурси в документі, що містить елемент управління, або визначити ресурси на рівні програми (тим самим ресурси стають доступними для всіх документів у додатку). Ресурси лише на рівні документа перевизначають ресурси лише на рівні докладання.

Властивості, задані для системного шаблону, який використовується елементом управління Платформа WPF визначає системний шаблон на основі теми (іншими словами, на основі операційної системи).

Прості стилі та словники ресурсів

Прості стилі не підтримуються у проектах Silverlight.

Можна ефективно створити тему шляхом створення ресурсів властивостей, стилів та шаблонів в окремому файлі з ім'ям словник ресурсів. Словники ресурсів дозволяють повторно використовувати тему для кількох програм. Також можна створити змінні теми, визначивши кілька словників ресурсів, які забезпечують одні й самі типи ресурсів, але з різними значеннями. Наприклад, сама програма Blend використовує різнісловники ресурсів для темної та світлої тем, між якими можна перемикатися, клацнувшиПараметри у менюІнструменти, а потім змінивши параметрТема дляРобочої області >.

Під час створення SimpleButton на монтажній панелі підсумковий XAML-код містить посилання на стиль SimpleButton:

Щоб отримати додаткові відомості про керування ресурсами, див. Створення ресурсів Blend, які багаторазово використовуються.