wince 6.0 +silverlight使用setvisibility()显示图片不成功,如何解决……

xml细尾 2012-06-18 10:10:56
我想我点击一个按钮实现换图效果,两个图分别在两个canvas 下
点击按钮时,实现:
m_canva1->SetVisibility(XRVisibility_Collapsed);
m_canva2->SetVisibility(XRVisibility_Visible);
现在问题是第2个图根本就不显示,请问有没有谁遇到过这样的问题,怎么解决~
...全文
144 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xml细尾 2012-06-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

silverlight 在 CE6.0 下比较少人用。所以只能 LZ 自己去研究,先看看单个的效果,然后试试半重叠的效果吧。
[/Quote]

嗯 嗯 ,就是没什么人用,在网上都搜不到这方面的问题,而且我也是初学Silverlight,以前对WFC,c#,.net都没有接触过,所以做起来进度比较慢
xml细尾 2012-06-26
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

换种方法吧:你这种方法看起来可以,行不行我没试过。以前我做的一个demo供你参考
先创建2个IMage 对象
if (FAILED(retcode=app->CreateObject(IID_IXRBitmapImage,&img01)))
return retcode;

if (FAILED(retcode=app->CreateObject(IID_IXRBitmapIm……
[/Quote]
这种方法我另外试过可以的,只不过我这里的按钮实际上只是一个IXRImagePtr,初始化的时候为它添加按下和弹起事件,AddMouseLeftButtonDownEventHandle() 与 AddMouseLeftButtonUpEventHandle(),
IXRImagePtr m_Img_Button1;
按下的时候:
IXRBitmapImagePtr pImageSource = null;
m_Img_Button1->GetSource(&pImageSource);
pImageSource->SetUriSource(_T("res\\sel.png"));
m_Img_Button1->SetVisibility(XRVisibility_Visible);
弹起的时候:
IXRBitmapImagePtr pImageSource = null;
m_Img_Button1->GetSource(&pImageSource);
pImageSource->SetUriSource(_T("res\\unsel.png"));
m_Img_Button1->SetVisibility(XRVisibility_Visible);

我的按钮都是这样处理的,而换页的话,就是把当前显示的页面设置为隐藏SetVisibility(XRVisibility_Collapsed),把要显示的页面设置为可视SetVisibility(XRVisibility_Visible);
而我的方法单独测试也是可以的,不过要把我的应用里的所有按钮(>50个)全换成你的这种方法比较麻烦,几乎整个程序都要动了,我觉得应该不是我的方法有错,也许是程序其他地方有问题,我再查查,谢谢啦


xml细尾 2012-06-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

silverlight 在 CE6.0 下比较少人用。所以只能 LZ 自己去研究,先看看单个的效果,然后试试半重叠的效果吧。
[/Quote]
嗯 嗯 ,就是没什么人用,在网上都搜不到这方面的问题,而且我也是初学Silverlight,以前对WPF,c#,.net都没有接触过,所以做起来进度比较慢
myearth 2012-06-25
  • 打赏
  • 举报
回复
还少一句话
MenuButtonImage->SetFill(pMyBlueBrush);
myearth 2012-06-25
  • 打赏
  • 举报
回复
换种方法吧:你这种方法看起来可以,行不行我没试过。以前我做的一个demo供你参考
先创建2个IMage 对象
if (FAILED(retcode=app->CreateObject(IID_IXRBitmapImage,&img01)))
return retcode;

if (FAILED(retcode=app->CreateObject(IID_IXRBitmapImage,&img02)))
return retcode;

if (FAILED(retcode=img01->SetUriSource(TEXT("\\NandFlash\\按下白底.png"))))
return retcode;

if (FAILED(retcode=img02->SetUriSource(TEXT("\\NandFlash\\img02.jpg"))))
return retcode;


然后在按钮
Button_MouseLeftButtonDown
Button_MouseLeftButtonUp
中替换图片
按下
IXRImageBrushPtr pMyBlueBrush;
pMyBlueBrush->SetImageSource(img01);
放开
pMyBlueBrush->SetImageSource(img02);
就是你要的效果。
可以做出圆角等等你想要的效果。


myearth 2012-06-25
  • 打赏
  • 举报
回复
换种方法吧:你这种方法看起来可以,行不行我没试过。以前我做的一个demo供你参考
先创建2个IMage 对象
if (FAILED(retcode=app->CreateObject(IID_IXRBitmapImage,&img01)))
return retcode;

if (FAILED(retcode=app->CreateObject(IID_IXRBitmapImage,&img02)))
return retcode;

if (FAILED(retcode=img01->SetUriSource(TEXT("\\NandFlash\\按下白底.png"))))
return retcode;

if (FAILED(retcode=img02->SetUriSource(TEXT("\\NandFlash\\img02.jpg"))))
return retcode;


然后在按钮
Button_MouseLeftButtonDown
Button_MouseLeftButtonUp
中替换图片
按下
IXRImageBrushPtr pMyBlueBrush;
pMyBlueBrush->SetImageSource(img01);
放开
pMyBlueBrush->SetImageSource(img02);
就是你要的效果。
可以做出圆角等等你想要的效果。


91program 2012-06-25
  • 打赏
  • 举报
回复
silverlight 在 CE6.0 下比较少人用。所以只能 LZ 自己去研究,先看看单个的效果,然后试试半重叠的效果吧。
xml细尾 2012-06-20
  • 打赏
  • 举报
回复
额,没人理么~~~~~~~
xml细尾 2012-06-19
  • 打赏
  • 举报
回复
实际上SetVisibility(XRVisibility_Visible)有效,在设置完之后获取m_canva2->GetVisibility(xrVisb)是可视的,关键是设备屏幕上并没有显示出来,非常奇怪~

19,524

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧