立即从进程回调输出更新列表视图 C# WPF
Posted
技术标签:
【中文标题】立即从进程回调输出更新列表视图 C# WPF【英文标题】:Update List view from Process callback output instantly C# WPF 【发布时间】:2018-07-29 01:03:03 【问题描述】:我正在尝试从读取进程标准输出的回调函数更新我的列表视图。 我正在做这样的事情:
process.OutputDataReceived = function();
public void function()
this.Dispatcher.Invoke((MethodInvoker)() =>
listview.Items.add(newItem);
);
这会更新我的列表视图,但仅在进程完成时!
我希望它立即更新列表视图,但我不知道它是如何以及为什么不这样做的。
谢谢。
【问题讨论】:
那么您是如何从标准输出中读取数据的呢?请出示您的代码。 【参考方案1】:public void StartProcess()
var myProcessStartInfo = new ProcessStartInfo()
UseShellExecute = false,
FileName = exePath,
CreateNoWindow = false,
ErrorDialog = true
;
var process = new Process();
process.StartInfo = myProcessStartInfo;
process.EnableRaisingEvents = true;
process.OutputDataReceived += function;
process.BeginOutputReadLine();
process.WaitForExit();
public void function()
this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(() => listview.Items.add(newItem);));
【讨论】:
以上是关于立即从进程回调输出更新列表视图 C# WPF的主要内容,如果未能解决你的问题,请参考以下文章