BeginInvoke更新界面 UI死掉
异步socket的处理消息事件 void ProcessA_BBuff(byte[] GetBuffer, Client.ClientInfo clientTemp)中
需要根据客户端发来的坐标信息 更新UI上对应usercontrol的位置(类似于GIS系统中小人在地图上更新位置)
当只把移动的少量代码(2行)写到BeginInvoke中时 就是说将BeginInvoke 写到ProcessA_BBuff这个事件里面 程序跑几分钟后UI就会死掉
this.Dispatcher.BeginInvoke((Action)delegate()
{
//移动小人
});
但是在主程序中这样写就好了:
this.Dispatcher.BeginInvoke((Action)delegate()
{
ProcessA_BBuff(msgBuff, CI);
});
也就是说 扩大了BeginInvoke的作用范围 就好了
具体什么原因 一直不解