在用户界面设计方面的竞争多半是围绕着如何制作出有吸引力、使用、灵活的用户界面而开展的,在基于浏览器的应用中进行界面的设计是一种更加需要技巧的工作,因为我们的客户端总是丰富多样而又难以准确预测,幸好,Silverlight继承了WPF中灵活的界面设计的特点。

Silverlight中使用Layout model进行布局的管理,我们将所有的元素放在一个容器container中,每个容器都有自己的界面逻辑,比如ackpanel,grid,canvas等,我们甚至可以创建具有自定义逻辑的容器。所有的容器都从抽象类system.windows.controls.panel.class继承而来.panel类的层级关系为:panel——》frameworkelement——》ulelement——》dependencyobject

panel类有Background和children这两个公共属性,这是布局开始的第一步:在silverlight中,最主要的panel有:stackpanel、grid、canvas。这几个类我们可以在system.windows.controls中找到。sackpanel一般用来做水平或垂直的排布;grid通过行和列来布局元素,基本就是表格布局;canvas利用绝对的坐标来定位。一个典型的Silverlight,一般是采用grid来进行布局,其中还可以嵌套其他的布局元素。

需要改变panel的background属性时,我们多数会想到采用一个表示“颜色”的对象,但是Silverlight采用了一种更为灵活的方式,brush对象,这样就可以提供“纯色”(solid  color),“线性渐变”、“圆形渐变”这样的颜色效果,brush对象存在于system.windows.media中。

例如,我们可以用一句话案例改变当前grid的背景

layoutroot.background=new solidcolorbrush(colors.red);

布局元素的一些属性

背景:background

改变背景的三种方法:一种通过之前实例的写codi的方式,另外一种是直接在元素上添加banckground="#dddddd"这样的方式;最后一种是利用<Grid.backgound></Grid.backgound> 这样的标签合起来,中间可以添加较为复杂的背景变化。

边框:borders

边框的掌握就更为简单,我们只要记住了background、broundbrush and  borderthickness 、cornerRadius、padding就可以应付了。

stackpane的布局方式

stackpanel作为一个基本的布局元素,提供了将ulement进行水平或者垂直排布的功能,就像一个堆栈一样。他使用起来也非常方便,将所有的元素都放入到<Stackpanel></Stackpanel>标签中就OK了。我们通过调整HorizonAlignment和VerticalAlignment来调整水平或垂直。默认情况下,stackpanel会占据一个容器内所有的剩余空间,如果我们不希望这样,我们就可以对位于sackpanel内的元素定义它们的尺寸属性,包括width、height、minwidth、maxwidth、maxHeight,但是还有一个问题,任何用户界面的设计,都会存在一定的空间来分隔视觉上不同的元素,想要实现这个功能,我们需要使用Margin属性。我们可以给margin设置一个单个的值。这样四个方向上的margin都相同,也可以按照margin="5.3.2.5",这样方向的顺序分别是左、上、右、下,和css中的定义不同、习惯起来感觉还有点吃力。在多个元素之间计算margin时,其所有的规则和css不同,但是应该更近于一般的理解。

silverlight学习布局之:布局stackpanel相关推荐

  1. Silverlight学习笔记(3):Silverlight的界面布局

    在上一篇中讲述了使用VS2010开发Silverlight的一些基础知识,并且讲述了Silverlight的部署和代码安全知识,这一篇主要是讲述如何在Silverlight中摆放界面元素. 记得早年前 ...

  2. 谷歌论文:使用深度强化学习的芯片布局

    来源:半导体行业观察 摘 要 在本项目中,我们提出了一种基于学习的芯片布局方法,这是芯片设计过程中最复杂,最耗时的阶段之一.与以前的方法不同,我们的方法具有从过去的经验中学习并随着时间的推移而不断改进 ...

  3. silverlight元素FrameworkElement.LayoutUpdated布局变化事件

    silverlight的元素基类FrameworkElement有事件LayoutUpdated,该事件表示元素发生布局变化后出发,什么是 布局发生变化,比较多了,比如尺寸的变化width heigh ...

  4. 前端学习总结——CSS布局方式之传统布局

    传统布局 传统布局即是早期在平板电脑.智能手机等移动设备并不流行的时候使用的布局方式. 一.表格布局 例如:采用表格方式实现如下简单模型的布局 (1)固定布局 即用具体的像素值来确定模型的宽和高等值. ...

  5. Element UI学习记录之布局

    目录 Element UI学习记录之布局 一.Layout布局 二.Container布局容器 Element UI学习记录之布局 一.Layout布局 基本概念:一行通过分割为24栅格栏进行布局,如 ...

  6. 前端基础知识学习总结--百分比布局、Flex布局

    #博学谷IT学习技术支持# 一.百分比布局:能够使用百分比布局开发网页.百分比布局, 也叫流式布局 .效果: 宽度自适应,高度固定. 二.Flex布局:能够使用Flex布局模型灵活.快速的开发网页 F ...

  7. 关于HTML学习重点-绝对布局和相对布局总结

    其实这篇文章早就该写了,很久写了关于HTML布局相关的经验总结,一直在百度云上,只是偶尔查询翻到对应资料,担心日后很难找到,所以最后还是决心以文章的形式记录下来供大家参考查阅,实现这篇文章应有的价值: ...

  8. 12个学习 CSS3 网站布局设计的优秀案例

    网络上有很多的 CSS 画廊站点供大家对各类网站作品进行打分和评论,每天有数以百计的优秀网站被推荐上面,这对于网页设计师来说是很好的灵感来源.今天,我们选择了15赢得 CSS 设计大奖的优秀作品,帮助 ...

  9. html局对布局和相对布局,关于HTML学习重点-绝对布局和相对布局总结

    其实这篇文章早就该写了,很久写了关于HTML布局相关的经验总结,一直在百度云上,只是偶尔查询翻到对应资料,担心日后很难找到,所以最后还是决心以文章的形式记录下来供大家参考查阅,实现这篇文章应有的价值: ...

  10. CSS 学习笔记 - 网格布局(栅格系统)

    CSS 学习笔记 - 网格布局(栅格系统) 开启网格模式 基本概念 属性说明 容器属性 内容属性 效果展示 grid-template-rows.grid-template-columns 基本用法 ...

最新文章

  1. 中国电子学会青少年编程能力等级测试图形化一级编程题:海底世界
  2. 再也不用担心过拟合的问题了
  3. layui数据表格自定义复选框表头_解决LayUI数据表格复选框不居中显示的问题
  4. java 观察者模式
  5. JSONP的原理与实现(基于jQuery)
  6. 选择列表和可多选的选择列表
  7. fmc是fpga直接引出来的吗_家长速看!你还在用“不要和陌生人说话”糊弄孩子的安全教育吗?...
  8. 【Flink】Flink 多个 OutputTag 不能直接 union 的问题
  9. 15.TCP/IP 详解卷1 --- TFTP:简单文件传送协议
  10. SAE J1939协议读取车辆故障码
  11. Excel中用REPT函数制作图表
  12. Kubernetes之secrets使用
  13. mx450属于什么档次的显卡
  14. Hibernate:DisjunctionConjunction构造复杂的查询条件
  15. 机器学习 —— Bagging算法
  16. linux备份压缩tgz,linux关于解压和压缩命令 zip rar tar.gz tgz
  17. 从零开发一款笔记APP——神马笔记WhatsNote
  18. win10 文件夹设置区分大小写
  19. 银行数据仓库体系实践(8)--主数据模型设计
  20. 妙用Java 8中的 Function接口,消灭if...else(非常新颖的写法)

热门文章

  1. python写服务器端qt客户端_python写一些简单的tcp服务器和客户端
  2. apollo mqtt linux qt,MQTT第5版更新,以及如何应用到Qt MQTT模块中
  3. arcgis运行python脚本一段时间后会卡,为什么这个python多处理脚本在一段时间后会变慢?...
  4. c#结合emgucv进行人脸检测_人脸识别与测温结合在办公场景有哪些应用?
  5. 64位 java 数据类型_全面解析Java支持的数据类型及Java的常量和变量类型
  6. 脑电分析系列[MNE-Python-4]| MNE中数据结构Evoked及其对象创建
  7. 五分钟示范“教会”演员说外语,还可无缝切换语种,这家AI配音公司刚获2000万美元A轮融资...
  8. 全球首例猪心移植人体手术:57岁晚期心脏病患者术后状况良好
  9. 微软图像加密算法被破解,谷歌等大厂都在用,MIT硕士小哥开源逆向所用方法...
  10. 2张图片就能「算出」一段视频,Reddit网友都惊呆了 | 旷视北大出品