WPF 如何刷新 Canvas

发布网友 发布时间:2022-04-22 07:14

我来回答

2个回答

热心网友 时间:2023-08-25 15:05

看了你的代码只是涉及到控件位置和大小的改变,没有其他精确的计算,那为何还要canvas这种绝对定位的容器?建议说说你的需求,并重新设计构架。

热心网友 时间:2023-08-25 15:06

必然是这样的啊,C#对对象的使用本质上是引用,所以下面的语句:

lstPrintImage.Add(GetPrintImage(cvPreview));

for循环里一直改的是cvPreview对象的值,结果就是cvPreview只保存了最后一个cvPreview的更新。
解决方法:你应该new多个cvPreview对象,形成一个数组,最后循环打印这个数组。追问和你得分析有点出入,我for循环里是修改一次cvPreview对象就把他的生成图片保存好,我也分步骤跟踪了一下,循环生成的所有图片都是for循环开始之前的样子,最后代码都跑完以后,cvPreview对象变成了循环最后一次赋值的样子,这倒是真的

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com