Animație pentru schimbări în legare

De exemplu, aici avem un câmp de text pentru câmp în ViewModel. Schimbăm textul pentru animație. Dacă închidem animația pe TextChanged, atunci când introducem textul, avem multe probleme. Este posibil ca animația să nu ne lase să-l apelam în mod normal, dar dacă monitorizăm schimbarea în ViewModel, poate exista o poveste complet diferită.








Dacă închideți animația pentru a modifica datele și apoi setați proprietatea UpdateSourceTrigger = PropertyChanged la Binding, veți obține exact aceeași poveste ca TextChanged. În mod specific, în acest caz, ar fi corect să închideți LostFocus. În general, cred că animația este o chestiune de reprezentare și, prin urmare, mai întâi de toate încercați să vă apropiați de partea de vedere, și numai apoi, din restul.







Alt lucru, dacă animația din Imagine ar trebui să fie lansată nu când se schimbă ceva din Imagine, ci când se schimbă valoarea unei alte proprietăți a modelului de prezentare, atunci da. În ultimul caz, desigur, nu putem urmări aceste date și trebuie să fie luate la un anumit nivel. În general, totul depinde de sarcină din nou. Încercarea de a introduce reguli stricte pentru acest lucru va duce la un cod rău (ulei rău). IMHO.

Adăugat mai târziu:
Apropo, în exemplul pe care l-am menționat mai sus, totul ar putea deveni și mai frumos dacă faceți un eveniment atașat, care se va numi ImageSourceChanged. Apoi, totul se poate face prin declanșator, ca și cum acest eveniment este nativ pentru Image.







Articole similare

Trimiteți-le prietenilor: