Dependencyproperty class (windows)

Specifies a static value that is used by the property system rather than null to indicate that the property exists, but does not have its value set by the property system or by any app code.

Примітки

Основні поняття, пов'язані з властивостями залежностей, докладно описані в розділі Загальні відомості про властивості залежностей.

У документації часто наводяться посилання на екземпляри DependencyProperty як ідентифікатори властивостей залежностей. Ідентифікатори дозволяють посилатися на властивість залежностей, яке було зареєстровано для певного типу-власника DependencyObject. Коли тип власника реєструє це властивість, тип власника надає екземпляр класу DependencyProperty у вигляді ідентифікатора, який є статичним членом класу власника.

DependencyObject-власник надає сховище властивостей для властивості залежностей. При роботі з властивістю залежностей в коді, ідентифікатори DependencyProperty у вигляді вхідних даних можуть використовуватися для викликів методів системи властивостей, наприклад SetValue. Однак в більшості випадків отримання або завдання властивості залежностей простіше виконати шляхом отримання або завдання оболонки; це поняття описано в розділі Загальні відомості про властивості залежності.

DependencyProperty підтримує власне перетворення для синтаксису атрибутів XAML для заповнення значень, яке використовується, коли Setter вказує своє значення Property. Це перетворення використовує форму ownerTypeName.propertyName для вхідного рядка.

ПрімечаніеСінтаксіс шляху властивості є пов'язаний синтаксис, який може також використовуватися для вказівки властивості по імені і потрібно для певних даних і API-інтерфейсів анімації. Шлях властивості можна використовувати для посилання на структуру класу, який має властивості, і значення цієї властивості. Додаткові відомості див. У розділі Синтаксис PropertyPath.

Середовище виконання Windows реалізує функцію приєднаних властивостей мови XAML з ідентифікаторами DependencyProperty і сховищем властивостей в DependencyObject. Додаткові відомості див. У розділі Загальні відомості про приєднаних властивості.

Призначені для користувача властивості залежностей

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

  • Реєстрація властивості залежностей здійснюється за допомогою методу Register. який повертає об'єкт DependencyProperty. Це ідентифікатор властивості залежностей. Цей об'єкт слід надати як доступне статичну властивість тільки для читання в класі. Згідно з правилом, ім'я поля ідентифікатора DependencyProperty має закінчуватися на "Property".
  • Під час реєстрації для властивості можна надати PropertyMetadata для подальшого визначення поведінки даного властивості.
  • Надайте методи доступу get і set для властивості. Це оболонки властивості, що спрощують доступ до властивості для всіх викликають об'єктів.

Посилання XAML на ім'я властивості залежностей

Деякі властивості, які зазвичай задаються в розмітці XAML, використовують в якості значення DependencyProperty. Наприклад, властивість Setter.Property задається в XAML. Щоб задати це властивість в коді XAML, слід вказати ім'я властивості залежностей в якості значення атрибута.

Можна також використовувати Setter.Property для посилання на ім'я приєднаного властивості. Для значення атрибута використовуйте форму AttachedPropertyOwner.AttachedPropertyName. в точності як для завдання цього приєднаного властивості як атрибуту в XAML. Наприклад, ось Setter. який задає приєднане властивість AutomationProperties.ItemType в Style.

Примітка Ім'я властивості залежностей - це не ім'я ідентифікатора статичного властивості DependencyProperty. Властивість реєструється з рядком імені, а ім'я - це типове ім'я, під яким ця властивість використовується в програмуванні для середовища виконання Windows і надається в Microsoft IntelliSense і довідкової документації. Іншими словами, не потрібно, щоб рядок, що вказується для властивості Setter.Property в XAML-розмітці, закінчувалася на "Property" (за винятком деяких рідкісних випадках, де властивість залежностей дійсно містить суфікс "Property").

Використання DependencyProperty (ідентифікатора властивості залежностей) в коді

Існує кілька службових методів для системи властивостей середовища виконання Windows, які використовують значення DependencyProperty в якості вхідного параметра. До них відносяться:

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

Схожі статті