【发布时间】:2021-04-06 18:31:35
【问题描述】:
我在从另一个线程更新 WPF UI 时遇到了一些麻烦。
第二个线程是一个不断从StreamReader 读取消息的循环。
在这些消息中有更新UI 的命令。
我不知道该怎么做。我读过关于类似问题的文章,但不一样
WPF 界面:
private void Button_Click(object sender, RoutedEventArgs e)
{
Thread threadConsume = new Thread(pre_sub);
threadConsume.Start();
}
其他话题:
private void pre_sub()
{
Subscribe();
}
public async Task Subscribe()
{
while (true)
{
try
{
Console.WriteLine("Establishing connection");
using (var streamReader = new StreamReader(await _client.GetStreamAsync(_urlSubscription)))
{
while (!streamReader.EndOfStream)
{
var stream = await streamReader.ReadLineAsync();
if (stream.ToString() == "update")
{
//update the WPF UI
}
}
}
}
catch (Exception ex)
{
}
}
}
【问题讨论】:
标签: c# wpf multithreading .net-5