none
MVVM passaggio dati tra varie classi (ref o punt) RRS feed

  • Domanda

  • Salve, mi sto incimentanto nella costruzzione di un programma e mi trovo in dificoltà nel concretizzare la base del mio progetto.

    L'obiettivo è tenere aggiornate una Textbox con valori prelevati da un dispositivo esterno tramite comunicazione Modbus TCP.

    Nel View applico il Binding "TextBlock text=binding DATA_R"

    Nel View model lancerò la funzione ComModbus.Refresh(/*ConfigDate*/, ref DATA_R) , /*ConfigDate*/ (Struct o String[] per identificate nome, tipo e dimensione...da definire)

    Nella classe di comunicazione la funzione Refresh avvierà un task ciclico ogni 100ms che aggiungerà in una ConcurrentQueue i parametri (Int[] o struct o class...da definire). I parametri saranno configurati tramite i valori di /*ConfigDate*/ e il riferimento o puntatore della varibile da aggiornare.

    Nella stessa classe di comunicazione girerà un task sotto timer per controllare ciclicamente la ConcurrentQueue e avviare la comunicazione Modbus di ReadRegister il risultato verrà memorizzato nel riferimento indicato.

    Questa una idea concettuale ma trovo difficoltà nel passaggio di riferimenti o puntatori tra le varie classi (Consapevole della pericolosità dei puntatori), chiedo a voi qualche idea anche concettuale per poi studiare la costruzione del codicee raggiungere l'obiettivo, tenendo in mente che vorrei mantenere MVVM .


    mercoledì 6 febbraio 2019 11:29