Pregunta

Tengo una aplicación WinForm y una configuración observable como esta:

Form form = new Form();
Label lb = new Label();
form.Controls.Add(lb);

Observable.Interval(TimeSpan.FromSeconds(1))
          .Subscribe(l => lb.Text = l.ToString());

Application.Run(form);

Esto no funciona, desde el l => lb.Text = l.ToString() No se ejecutará en el hilo principal que creó el formulario, pero no puedo entender cómo hacer que se ejecute en este hilo. Supongo que debería usar IObservable.SubscribeOn que toma un IScheduler o SynchronizationContext, pero no sé cómo obtener la sincronización context del hilo principal, y los únicos programadores que pude encontrar fueron las propiedades estáticas de Scheduler, como Scheduler.CurrentThread, Immediate, NewThread, TaskPool y ThreadPool, ninguno de los cuales funcionó.

Mi versión RX es 1.0.10621.

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top