WPF 实时绘图的逻辑
实时绘图实际上是两个线程。外部线程直接用thread,只有到绘图那个逻辑才用绘图控件的mycanvas2.Dispatcher.Invoke。
或者说,INVOKE并不是开线程,只是一个绘图的委托而已。
主线程:
private void Read_UDP_Click(object sender, RoutedEventArgs e)
{
TCPRx mytcp = new TCPRx(" ", );
---------------------------------
error
---------------------------------
//Action<Canvas> updateAction = new Action<Canvas>(mytcp.readdata);
//updateAction.Invoke(this.FigureShow);
//this.FigureShow.Dispatcher.Invoke(updateAction,this.FigureShow);
//Action<Canvas, String> updateAction = new Action<Canvas, string>(mytcp.readdata);
//this.Dispatcher.BeginInvoke(updateAction, this.FigureShow, "");
new Thread(() =>
{
//this.FigureShow.Dispatcher.Invoke(new Action(() =>
{
while (true)
{
mytcp.readdata(this.FigureShow);
Thread.Sleep(10);
}
}
//)
//);
}).Start();
}
--------------------------------------------------------------------------------------------------------
绘图
--------------------------------------------------------------------------------------------------------
public void readdata(Canvas mycanvas2)
{
IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0);
EndPoint senderRemote = (EndPoint)sender;
state = new State(myconnect);
buffer = new byte[length];
//myconnect.BeginReceiveFrom(buffer, 0, length, SocketFlags.None, ref senderRemote, drawfigure, state);
//---- myconnect.Receive(buffer);//buffer, 0, length, SocketFlags.None, ref senderRemote, drawfigure, state);
string message = System.Text.Encoding.Default.GetString(buffer, 0, length);
string line = System.Text.Encoding.Default.GetString(buffer, 0, length);
if (string.IsNullOrEmpty(line.Trim()))
{
return;
}
//this.userName.Text = " 测试UI";
mycanvas2.Dispatcher.Invoke(
new Action(
delegate()
{
}
)
);
}
最新文章
- 剑指offer七:两个链表的第一个公共结点
- bash while/until循环学习
- NodeVisitor的使用-遍历Geode节点并在它与父节点之间添加一个LOD节点
- nodejs: 理解Buffer
- JAXB玩转命名空间
- Python入门版
- P3401: [Usaco2009 Mar]Look Up 仰望
- 应用数据存储到sdcard上一定要规范,android4.4.2有新规范
- js生成随机字符串或者随机数
- 在 Java 中高效使用锁的技巧--转载
- delphi TServerSocket的多线程
- OVMF基础
- [Maven]Maven构建可执行的jar包(包含依赖jar包)
- <;TCP/IP原理>; (三) 底层网络技术
- 获取百度地图POI数据一(详解百度返回的POI数据)
- docker部署nginx
- GAN (Generative Adversarial Network)
- 洗礼灵魂,修炼python(52)--爬虫篇—【转载】爬虫工具列表
- centos7 pgpool+postgresql
- 【LeetCode】238. Product of Array Except Self
热门文章
- web编程非常实用的在线工具大全
- 嵌入式驱动开发之---dm8127 中sensor 驱动的改变
- 嵌入式开发之dmva---基于DMVA2平台720P高清智能分析
- 基于开源项目的在线网络视频直播项目---一个很好的电视直播开源项目Sopcast
- PL/SQL Developer导入导出Oracle数据库方法
- C 编程中fseek、ftell的用法总结
- 头文件与cpp文件为什么要分开写
- mp3 pcm
- Okapi BM25 (BM stands for Best Matching)
- 并不对劲的bzoj4825:loj2018:p3721:[HNOI2017]单旋