专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Silverlight

WPF显示多个图片,求思路解决办法

发布时间:2011-06-27 19:25:27 文章来源:www.iduyao.cn 采编人员:星星草
WPF显示多个图片,求思路
多个图片文件,大小和幅面各不相同,想在WPF程序中一次性同时显示出来(不是显示缩略图)。排列方式为从上到下依次排列。如果图片幅面不太大就显示原图,如果幅面太大就缩小一定比例再显示。 可以拖动其容器的滚动条来看到所有图片。

在WinForm中是这样实现的:
在一个可滚动的Panel中从上到下放置多个Image控件,每个Image位置不同。通过滚动Panel来浏览所有图片。

在WPF中:
1. 使用哪个控件,可以实现WinForm下滚动Panel的功能?
2. 由于图片数目不定,需要代码添加图片。如何设置每个Image在滚动控件中的位置?
3. 如何控制每个Image的显示大小,即显示时有可能不是按原图大小显示而是缩小显示的。

如果有示例代码最好。
------解决思路----------------------
你这个要求,最简单的方法就是弄一个ListBox来放这些图片,然后每个Image的Stretch设置成Uniform,再给Image设置一个MaxWidth,Width设置成Auto。
------解决思路----------------------


图片 有的大,有的小,总的有一个标准,就是设置一个最小图片的宽高。

1:使用ListBox控件
2:既然要求确定图片的位置,使用ListBox的话,也就是ListBoxItem的位置。
修改ListBox的ItemsPanel的ItemsPanelTemplate 为Canvas 面板,为每个ListBoxItem计算x,y值(其实x坐标不变,变得就是y坐标,因为要下拉滚动)  添加到ListBox中。

3:设置一个最小图片的值;修改 ListBoxItem的ControlTemplate , 在模板中使用ViewBox控件来嵌套你的图片,注意你的图片要有Width与Height,大小超出最小值的图片就能进行缩放显示。

实例代码也可以写,就是费时间的。
------解决思路----------------------
引用:
Quote: 引用:

1:使用ListBox控件


我理解如果显示的图片较小的话使用ListBox控件很合适,但我要显示较大图片(显示宽度即显示器宽度,显示高度很可能超出显示器高度)的话用ListBox恐怕就不合适吧。

第三条  已经给你解释了,可以使用ViewBox控件。
------解决思路----------------------
scrollview
------解决思路----------------------
ListBox加上Image很容易就搞定,ListBox不是你想象的那样只能显示小图片
------解决思路----------------------
在stackpanel里放置多个image,然后设置image的Stretch="Fill"
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: