我是WPF的新手,我正在编写一个程序,用于向/从通过串口通信的无线设备发送/接收消息。我被困在一个GUI没有按预期显示的特定部分......但是当我输入断点和调试时,数据被正确显示。如何调试在调试模式下正常工作的东西?
它的要点是,我向串口设备发送2条单独的消息,以便填充我的GUI的两个不同部分。
private void getDeviceIntoButton_Click(object sender, RoutedEventArgs e)
{
IDList.Dispatcher.Invoke(new Action(() =>
{
//send message to serial port device to get ID#
}));
Thread.Sleep(100);
SettingsList.Dispatcher.Invoke(new Action(() =>
{
//send message to serial port device to get settings
}));
}
然后我的事件处理程序应该收到每条单独的消息并显示给GUI:
private void DisplayID(string data)
{
IDList.Dispatcher.Invoke(new Action(() =>
{
//add received ID to ID list
}));
}
private void DisplaySettings(string data)
{
SettingsList.Dispatcher.Invoke(new Action(() =>
{
//add received setting to settings list
}));
}
如果我只发送两条消息中的一条,它会以某种方式工作,但如果我发送两条消息,则GUI的任何部分都不会更新。同样,令人困惑的部分是它们在我调试时都能正确显示。有什么想法吗?