none
Modificar la UI (WPF) desde otro hilo. RRS feed

  • Pregunta

  • Hola grupo,

    Estoy intentando hacer un mini proyecto que en resumen consiste en lo siguiente:

    1º UI en wpf

    2º Lanzar otro hilo que leera constantemente un puerto serie o controlador de dispositivo que se ejecuta permanentemente hasta que se cierre la aplicación

    3º Volcar estos datos en varios text box de mi UI (hilo principal) y ejecutar acciones conforme a los datos recibidos.

    La pregunta es la siguiente:

    Cual sería la técnica de programación paralela más adecuada para todo lo anterior, teniendo en cuenta que el hilo secundario no finaliza hasta que finalice la aplicación y que constantemente está escribiendo datos en la UI. Estaba mirando el "async-await" pero los ejemplos que he visto solo retornan datos al hilo prinicipal una vez finalizado el hilo secudario.

    Sólo me hace falta una orientación de cual puede ser la mejor técnica de programación paralela a usar o si alguien me puede dirigir a un ejemplo o ejemplos.

    Agradecido de antemano.

    lunes, 26 de febrero de 2018 15:03

Respuestas

Todas las respuestas

  • hola

    en wpf se usa el Dispatcher

    Modelo de subprocesos

    analiza el ejemplo

     Threads in WPF

    como hace uso del Dispatcher.BeginInvoke()

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 26 de febrero de 2018 15:13
  • El async-await no es múltiple hilo.  Es programación asincrónica pero no debe confundirse con multi-hilo.  No son lo mismo.  El async-await solamente es multi-hilo en programas de consola.  Los demás son un único hilo.

    Puede usar Dispatcher, como se lo mencionan, o puede utilizar una colección sincronizada que se revisa periódicamente por el hilo principal.  Dicha colección contendría los datos que se recolectan del puerto serie.  La mecánica sería sencilla:  El hilo secundario llena la colección; el hilo de UI la vacía.


    Jose R. MCP
    Code Samples

    lunes, 26 de febrero de 2018 22:32
    Moderador
  • Gracias a los dos por darme un enfoque correcto para lidiar con el proyecto.

    Un saludo

    miércoles, 28 de febrero de 2018 15:50