SilverLight中图片不能重新加载的处理方法
2010-08-06 10:00
232 查看
很多情况下,我们希望能够动态地对图片进行控制,如加载、卸载、拉伸等。
当我们在打开窗口的时候,会先将一张张的图片加载好,然后通过事件来再一步对图片控件进行控制。
我早阵子一直没能在事件中将之替换成功,也没有找到具体原因,将此问题搁置了一段时间,今天由于在整理代码时,恍然发现一个我们平时都忽略了的错误,在此指出一下,防止大家犯同样的错误。
之前我是这样写的
HRESULT MainPage::BindEventHandlers()
{
HRESULT retcode=S_OK;
MainPage mainpage;
//绑定事件
if(FAILED(retcode=CreateDelegate(&mainpage,&MainPage::OnGesture,&m_pgesturedelegate)))
return retcode;
if (FAILED(retcode=LayoutRoot->AddGestureEventHandler(m_pgesturedelegate)))
return retcode;
return retcode;
}
红色标记处为错误处
后来改为如下,就正确了
HRESULT MainPage::BindEventHandlers()
{
HRESULT retcode=S_OK;
//绑定事件
if(FAILED(retcode=CreateDelegate(this,&MainPage::OnGesture,&m_pgesturedelegate)))
return retcode;
if (FAILED(retcode=LayoutRoot->AddGestureEventHandler(m_pgesturedelegate)))
return retcode;
return retcode;
}
分析主要原因为第二次在事件中处理图片控件时,已经是无效指针了,这样就导致了图片没能替换成功。
当我们在打开窗口的时候,会先将一张张的图片加载好,然后通过事件来再一步对图片控件进行控制。
我早阵子一直没能在事件中将之替换成功,也没有找到具体原因,将此问题搁置了一段时间,今天由于在整理代码时,恍然发现一个我们平时都忽略了的错误,在此指出一下,防止大家犯同样的错误。
之前我是这样写的
HRESULT MainPage::BindEventHandlers()
{
HRESULT retcode=S_OK;
MainPage mainpage;
//绑定事件
if(FAILED(retcode=CreateDelegate(&mainpage,&MainPage::OnGesture,&m_pgesturedelegate)))
return retcode;
if (FAILED(retcode=LayoutRoot->AddGestureEventHandler(m_pgesturedelegate)))
return retcode;
return retcode;
}
红色标记处为错误处
后来改为如下,就正确了
HRESULT MainPage::BindEventHandlers()
{
HRESULT retcode=S_OK;
//绑定事件
if(FAILED(retcode=CreateDelegate(this,&MainPage::OnGesture,&m_pgesturedelegate)))
return retcode;
if (FAILED(retcode=LayoutRoot->AddGestureEventHandler(m_pgesturedelegate)))
return retcode;
return retcode;
}
分析主要原因为第二次在事件中处理图片控件时,已经是无效指针了,这样就导致了图片没能替换成功。
相关文章推荐
- AngularJS中如果ng-src 图片加载失败处理方法
- 加载大图片时,出现的OOM异常,以及处理OOM异常的方法
- 图片加载失败之后的处理(引申一下img的complete和onload方法)
- js 图片加载失败处理方法
- VB6加载MSCOMCTL.OCX出现“不能加载''”错误的处理方法汇总
- [无法读取项目文件xxxx, xxx未能加载项目文件,名称不能以“<”字符(十六进制值 0x3C)开头]异常的处理方法
- WebView加载富文本(解决富文本内部图片不能加载,一直闪屏问题)的方法
- 图片img的src不变让浏览器重新加载实现方法
- 关于Silverlight Socket编程中不能传输汉字的临时处理方法
- 图片img的src不变让浏览器重新加载实现方法
- sdwebImageview 在https 中不能加载图片时解决方法
- js 图片加载失败处理方法
- ANDROID图片加载时出现OOM的一般处理方法
- img加载图片不存在的处理方法
- Imageview 加载网络图片 图片动态处理 图片不变形的方法
- 用js处理图片加载错误时加载默认图片的方法
- 开源框架com.nostra13.universalimageloader加载图片时抛出OUTOFMEMORY错误的处理方法
- jQuery处理图片加载失败的常用方法
- sd_setImageWithURL加载图片失败原因以及处理方法
- javascript图片与加载处理基础详细讲解几种方法实现