Perché mai usare un convertitore multi vincolo?
-
28-10-2019 - |
Domanda
Non potrei semplicemente usare un singolo convertitore di associazione e come pass di parametro nel datacontext e da lì scegliere quali proprietà voglio usare?
Soluzione
Se si passa l'intero oggetto anziché le singole proprietà, l'espressione di legame non verrà rivalutata quando le singole proprietà cambiano. Perderai il beneficio del INotifyPropertyChanged
meccanismo.
Altri suggerimenti
Potresti essere più esplicito e prendere le informazioni aggiuntive minime (che sono generalmente una buona pratica di programmazione) o potresti voler informazioni da più di una fonte - ad esempio il tuo valore potrebbe dipendere da una proprietà del datacontext e dal controllo Stato di una casella di controllo da qualche altra parte nella vista.
Puoi farlo, ma l'associazione non si aggiornerà se le proprietà pertinenti cambiano in quel modo. Oltre al multibinding degli aggiornamenti è necessario per attacchi più complessi a diversi controlli e oggetti dati.