Clasa de dependență (ferestre)

Specifică o valoare statică folosită de sistemul de proprietate, mai degrabă decât nulă pentru a indica că există, dar nu are valoarea sa.







notițe

Conceptele de bază referitoare la proprietățile de dependență sunt descrise în detaliu în secțiunea Generală a proprietăților de dependență.

Documentația trimite referințe adesea la referințe la instanțele DependencyProperty ca identificatori de proprietate de dependență. Identificatorii vă permit să vă referiți la proprietatea de dependență care a fost înregistrată pentru un anumit tip de proprietar DependencyObject. Atunci când tipul de proprietar înregistrează această proprietate, tipul de proprietar oferă o instanță a clasei DependencyProperty ca un identificator care este un membru static al clasei de proprietar.

DependencyObject - proprietarul oferă un magazin de proprietăți pentru proprietatea de dependență. Atunci când se lucrează cu proprietatea de dependență din cod, identificatorii de dependență de proprietate sub formă de date de intrare pot fi utilizați pentru apelurile la metode de sistem proprietate, de exemplu SetValue. Cu toate acestea, în majoritatea cazurilor, este mai ușor să obțineți sau să setați proprietatea dependenței prin obținerea sau specificarea unui shell; Acest concept este descris în secțiunea Înțelegerea proprietăților dependenței.

DependencyProperty își menține propria transformare pentru sintaxa atributelor XAML pentru a popula valorile care sunt utilizate când Setter specifică valoarea proprietății. Această conversie utilizează formularul ownerTypeName.propertyName pentru șirul de intrare.

Notă Sintaxa căii de proprietate este o sintaxă legată care poate fi, de asemenea, utilizată pentru a specifica o proprietate după nume și este necesară pentru anumite interfețe API de date și animație. Calea de proprietate poate fi folosită pentru a se referi la structura unei clase care are proprietăți și la valoarea acestei proprietăți. Pentru mai multe informații, consultați Sintaxa proprietății.

Runtime-ul Windows implementează funcția de proprietăți XAML atașată cu identificatorii DependencyProperty și magazia de proprietăți în DependencyObject. Pentru mai multe informații, consultați Înțelegerea proprietăților atașate.







Proprietăți de dependență personalizate

Dacă doriți ca proprietățile din tipurile particularizate să suporte expresii de valoare, legare de date sau animație, trebuie să le furnizați proprietăților cu dependență, urmând recomandările de mai jos:

  • Proprietatea de dependență este înregistrată utilizând metoda Înregistrării. care returnează un obiect DependencyProperty. Acesta este ID-ul proprietății dependenței. Acest obiect ar trebui să fie furnizat ca o proprietate statică disponibilă doar pentru citire din clasă. Conform regulii, numele câmpului DependencyProperty trebuie să se încheie cu "Property".
  • La momentul înregistrării, pentru o proprietate, puteți furniza PropertyMetadata pentru a defini în continuare comportamentul acestei proprietăți.
  • Furnizați accesoriile pentru a obține proprietatea. Acestea sunt shell-urile de proprietate, care simplifică accesul la proprietate pentru toate obiectele chemate.

Referințe XAML la numele proprietății dependenței

Unele proprietăți care sunt de obicei specificate în marcajul XAML sunt utilizate ca valoare DependencyProperty. De exemplu, proprietatea Setter.Property este setată în XAML. Pentru a seta această proprietate în XAML, trebuie să specificați numele proprietății de dependență ca valoare a atributului.

De asemenea, puteți utiliza Setter.Property pentru a face referire la numele proprietății atașate. Pentru valoarea atributului, utilizați formularul AttachedPropertyOwner.AttachedPropertyName. exact ca pentru stabilirea acestei proprietăți atașate ca atribut în XAML. De exemplu, aici este Setter. care stabilește proprietatea atașată AutomationProperties.ItemType în stil.

Notă Numele proprietății dependenței nu este numele identificatorului proprietății statice DependencyProperty. Proprietatea este înregistrată cu șirul de nume, iar numele este numele de tip prin care această proprietate este folosit în programarea pentru timpul de executare Windows și este furnizat în Microsoft IntelliSense și în documentația de ajutor. Cu alte cuvinte, nu aveți nevoie ca șirul specificat pentru proprietatea Setter.Property din marcajul XAML să se încheie cu "Property" (cu excepția unor cazuri rare în care proprietatea de dependență conține într-adevăr sufixul "Property").

Folosind DependencyProperty (identificatorul de proprietate a dependenței) din cod

Există mai multe metode de utilitate pentru sistemul de proprietăți de rulare Windows care utilizează valoarea DependencyProperty ca parametru de intrare. Acestea includ:

Acest exemplu prezintă metoda de utilizare de bază, în care DependencyProperty este instalat ca membru static deschis al clasei. Aceasta se face prin apelarea metodei de înregistrare și salvarea valorii returnate ca membru al clasei. Pentru mai multe informații, consultați proprietățile de dependență personalizate.







Articole similare

Trimiteți-le prietenilor: