Meklēšanas rezultāti nesniedz īpašu informāciju par to, kā “MVXConveringTargetBinding” apstrādā atgriezeniskās saites cilpas. Tomēr es varu piedāvāt vispārēju skaidrojumu par to, kā atgriezeniskās saites cilpas varētu pārvaldīt saistošos scenārijos, jo īpaši MVVM (modeļa-View-ViewModel) ietvaru kā MVVMCross kontekstā.
MVVM iesiešanu izmanto, lai sinhronizētu datus starp skatu un skatuModeli. Atgriezeniskās saites cilpa rodas, ja izmaiņas skata izraisa skataModeļa atjauninājumus, kas savukārt izraisa mainās atpakaļ uz skatu, potenciāli izveidojot bezgalīgu ciklu. Lūk, kā šādas cilpas varētu rīkoties:
1. Vienvirziena iesiešanas gadījumi: vienvirziena iesiešanas ieviešana var novērst atgriezeniskās saites cilpas. Piemēram, ja dati plūst tikai no ViewModel uz skatu (vienvirziena saistīšana), skata izmaiņas neatjaunina skatuModeli, tādējādi izvairoties no cilpām.
2. Divvirzienu iesiešana ar validāciju: divvirzienu saistījumos, kur dati plūst abos virzienos, validācijas ieviešana var palīdzēt pārvaldīt atgriezeniskās saites cilpas. Ja atjauninātie dati ir tādi paši kā pašreizējā vērtība, izmaiņas netiek izplatītas, tādējādi novēršot nevajadzīgus atjauninājumus.
3. Pārveidotāja lietošana: tādi pārveidotāji kā “ivalueconverter” iesiešanas laikā var arī palīdzēt pārvaldīt atgriezeniskās saites cilpas, pārveidojot datus tādā veidā, kas novērš bezgalīgus atjauninājumus. Piemēram, pārveidotājs var atjaunināt mērķi tikai tad, ja jaunā vērtība atšķiras no pašreizējās.
4. Notikumu apstrāde: Pareizi rīkošanās ar notikumiem skatā var arī mazināt atgriezeniskās saites cilpas. Piemēram, ja izmaiņu notikumu izraisa pats iesiešana, notikumu apstrādātājam jāpārbauda, vai izmaiņas ir ierosinājušas lietotājs vai saistošs, un attiecīgi rīkoties.
5. Iesiešanas režīmi: Daži ietvari piedāvā atšķirīgus iesiešanas režīmus (piemēram, `OnewayTosource`,` OneTime`), kurus var izmantot, lai kontrolētu, kā dati plūst starp skatu un skatuModeli, palīdzot izvairīties no atgriezeniskās saites cilpām.
Ja nav īpašas dokumentācijas par “MVXConveringTargetBinding”, šīs vispārīgās stratēģijas var izmantot, lai pārvaldītu atgriezeniskās saites cilpas MVVM saistījumos. Ja `MVXConveringTargetBinding` ir daļa no MVVMCROSS vai līdzīga ietvara, tas, iespējams, ietver mehānismus, lai apstrādātu šādas cilpas, iespējams, caur pārveidotājiem vai saistošiem režīmiem.
Atsauces:[1] https://docs.quantum.ibm.com/api/qiskit/0.27/qiskit.circuit.library.mcmt
[2] https://rubberduckvba.blog/2020/10/25/making-mvvm-work-in-vba-part-3-bindings/
[3.]
[4] https://docs.quantum.ibm.com/api/qiskit/circuit
[5] https://stackoverflow.com/questions/63497549/binding-onewaytosource-with-onetime-initalization-of-target
[6] https://learn.microsoft.com/en-us/aspnet/core/mvc/models/model-inging?view=aspnetcore-9.0
[7] https://www.nxp.com/docs/en/data-sheet/mcxc44xp64m48sf6.pdf
[8] https://github.com/whitphx/vscode-emacs-mcx