Wpf, creați o legare în cod

Atunci când construiți o fereastră, este, de obicei, cel mai eficient să declarați o expresie obligatorie în marcajul XAML folosind extensia Marcare obligatorie. Cu toate acestea, este posibilă și crearea unei legături în cod.







Iată cum puteți crea o obligație pentru elementul TextBlock prezentat în exemplul din articolul precedent:

Pentru a șterge o legare în cod, există două metode statice ale clasei BindingOperations. Metoda ClearBinding () ia o referință la proprietatea de dependență care are obligația de a fi șters și metoda ClearAllBindings () elimină toate legările de date de elemente:

Atât ClearBinding () cât și ClearAllBindings () utilizează metoda ClearValue (), pe care fiecare element o moștenește din clasa de bază DependencyObject. Metoda ClearValue () șterge pur și simplu valoarea locală a proprietății (care în acest caz este expresia obligatorie).

Legarea bazată pe marcare este folosită mult mai des decât legarea software-ului, deoarece este mai clară și necesită mai puțină muncă. Cu toate acestea, codul poate fi utilizat pentru a crea o obligație în anumite scenarii de specialitate:







Crearea legărilor dinamice

Dacă aveți nevoie să finalizați legarea bazată pe alte informații de rulare sau să creați legături diferite, în funcție de circumstanțe, este logic să faceți acest lucru în cod. (Alternativ, puteți defini toate legăturile necesare în colecția Resurse a ferestrei și pur și simplu adăugați un cod care apelează SetBinding () cu obiectul obligatoriu corespunzător.)

Pentru a elimina o legare și a obține posibilitatea de a seta o proprietate în mod obișnuit, trebuie să utilizați metoda ClearBinding () sau ClearAllBindings (). Nu este suficient doar să atribuiți o proprietate nouă. Dacă utilizați legare bidirecțională, valoarea setată se va propaga la obiectul legat și ambele proprietăți rămân sincronizate.

Utilizând metodele ClearBinding () și ClearAllBindings (), puteți șterge orice legare. Nu contează dacă legarea a fost implementată programabil sau în codul XAML.

Crearea de comenzi personalizate

Pentru a ușura modificarea de către ceilalți a reprezentării vizuale a controlului special dezvoltat, anumite detalii (cum ar fi manipulatorii de evenimente și expresiile de legare a datelor) vor trebui mutate în codul de markup.







Articole similare

Trimiteți-le prietenilor: