android 连续点击只执行最后一次,Dispatcher.beginInvoke只通过循环执行最后一次?

foreach (MapLocation loc in e.Result)

{

testDict[loc.ElemId] = loc.ToString();

this.Dispatcher.BeginInvoke(delegate()

{

Image icon = new Image();

icon.SetValue(Image.SourceProperty, nurseIconSource);

Canvas.SetLeft(icon, (double)loc.X * MAP_SCALE);

Canvas.SetTop(icon, MAP_HEIGHT - (double)loc.Y * MAP_SCALE);

icons[loc.ElemId] = icon;

MainCanvas.Children.Add(icon);

});

}

}

这个环路上运行一个线程的25倍,从UI线程分开。 testDict对象在执行该方法后最终有25个条目,而图标字典仅存储第25个(最后一个)条目的条目。

这是我第一次使用Dispatcher。这是不是要被称为快速这样的?我所能想到的是,第一次调用委托是在循环的最后一次之后,所以loc对象始终是同一个项目。这是否准确?

2011-01-19

Erix

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值