Collegamento dinamico avanzato tra una variabile e un elemento analogico¶
Lo scopo di questo esempio è quello di mostrare come al cambiamento degli utenti con LocaleIds differente cambia l’espressione di un valore ingegneristico.
Implementare una variabile che funge da dato già scremato, in questo esempio ipotizziamo di lavorare con una temperatura espressa già in °C, da modello quindi aggiungere una variabile, rinominare per comodità la variabile in ‘FromPLC’ e definirne il valore dalle sue proprietà in, ad esempio, 60.
Aggiungere a Modello ora un nuovo elemento analogico e definire la sottoproprietà UnitId di EngineeringUnits con °C. Collegare dinamicamente la variabile ‘FromPLC’ alla proprietà del valore dell’elemento analogico.
Creare un’etichetta e creare un collegamento dinamico trascinando la variabile elemento analogico alla proprietà testo della stessa.
Dalla proprietà testo dell’etichetta aprire l’editor del collegamento dinamico avanzato, aggiungere un formattatore di stringhe, aggiungere un segnaposto ({0} {1}
) a cui collegare dinamicamente il display name dell’unità di misura Model >> ElementoAnalogico1 >> EngineeringUnits >> DisplayName. In questo modo si mostra il DisplayName dell’unità di misura.
Cambiare l’unità di misura in base al ‘Locale’
Creare una terza variabile che interessa solo all’interfaccia utente (detta variabile di view-model), direttamente sull’etichetta aggiungere un Elemento analogico, (dalle proprietà dell’etichetta +
Elemento analogico), che punta all’elemento analogico di modello, il cui valore è convertito in base alla sessione.
Aggiungere quindi, dalla finestra di collegamento dinamico avanzato, ‘Add modalità di binding tra engineering units di Parent e Source’.
Selezionare nuovamente l’Etichetta1, alla proprietà Testo aprire l’editor di collegamento dinamico avanzato, trascinare ElementoAnalogico1 dal modello al primo segnaposto {0} Dynamic link e, per il segnaposto {1} Dynamic link, effettuare il collegamento dinamico con MainWindow >> Etichetta1 >> ElementoAnalogico1 >> EngineeringUnits >> DisplayName.
Creare due utenti con LocaleIds differente, in questo caso ‘Guest’ e ‘Utente1’ rispettivamente con it-IT e en-US. Dalla libreria degli oggetti trascinare il Widget ‘Login form’ e trascinare la cartella Utenti di progetto alla proprietà Users della stessa.
Scarica il progetto di esempio da qui
.