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

Grid背景图片平铺,哪位高手弄过了的,给点建议

发布时间:2011-06-27 19:42:49 文章来源:www.iduyao.cn 采编人员:星星草
Grid背景图片平铺,谁弄过了的,给点建议?
如题!项目中碰到将Grid背景图片平铺的问题!原本以为很简单,试了下,好像都行不通!在网上查了下,好像说Grid还不支持平铺!
不知道是不是真的!有谁弄过了的给点建议!
想了一个办法是在服务器端的*.html页面,中body中设置图片的平铺样式!不过觉得这种方法好别扭!
希望能给出好的办法!
------解决方案--------------------
Image 和 ImageBrush 都不能平铺。
Silverlight中的 Stretch 枚举没有 Tile 这个值,是没有平铺功能喔。

不知从 Grid 中派生出 Panel 能不能实现:
根据图片的大小,在 MeasureOverride() 中计算出面板的整个可视区域可以平铺 n*m 个图片,
在  ArrangeOverride() 中,使用 Rectangle+ImageBrush  或者是 Image 来显示图片,
一共要排列 n*m 个 Rectangle 或 Image。

貌似应是可以实现的,就是嫌浪费内存了,而且根本就不是用的背景,而是在面板中排列上 n*m 个子控件,ZIndex 为 0 ,并且,在这个Grid面板中不能再分成多行多列了,只能嵌套一个 Grid ,在嵌套的 Grid 中再分多行多列。
------解决方案--------------------
可以平铺的~~
比如在grid中放一个image~要设置image的一些属性~~


image.VerticalAlignment = VerticalAlignment.Stretch;//设置纵向拉伸
image.HorizontalAlignment = HorizontalAlignment.Stretch;//设置横向拉伸
image.Margin = new Thickness( 0 );//设置image与父类容器的外边距为0

不用设置image的宽和高,那样image就不能拉伸了~
------解决方案--------------------
呵呵~~我用的是WPF~~~
------解决方案--------------------
引用:
冷大神, Fill 的效果只是拉伸, 平铺应是 Tiled , 比如用 宽度为1px,高为20px 的图片作为 宽100高20的区域的背景,平铺的效果就相当于用100张相同的图片水平的连续放置在这个区域中,这在Html网页中很常见。
第一次见“平铺”这个词是在Windows98的桌面属性的对话框中,经典啊。


原来这样,我看了一些资料,貌似不支持平铺的效果。2楼的方法楼主试过了么?
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: