0
我想通过串口发送大文本文件。 我用“Dispatcher.BeginInvoke”钢铁UI冻结,直到文件被发送如何用C#(WPF)中的串行端口发送大文本,而不冻结GUI?
public delegate void SendFileDelegate(string _fileText);
...
private void buttonTxSend_Click(object sender, RoutedEventArgs e)
{
this.Dispatcher.BeginInvoke(DispatcherPriority.Background, new SendFileDelegate(SendFile), textBoxTx.Text);
}
private void SendFile(string _fileText)
{
var _fileLenght = _fileText.Length;
progressBarTx.Maximum = _fileLenght - 1;
for (int i = 0; i < _fileLenght; i++)
{
progressBarTx.Value = i;
string _character = textBoxTx.Text[i].ToString();
try
{
_comPort.Write(_character);
}
catch (Exception _ex)
{
Message.Error("Error Write Data: " + _ex.ToString());
break;
}
}
}
我应该怎么办? 谢谢
谢谢你的回答,但钢铁的UI冻结。 –