silverlight_容器
Canvas絕對佈局
定位Canvas.Top、Canvas.Left
ZIndex屬性
若制定2個控制項重疊,那麼後聲明控制項會覆蓋先聲明的控制項。此時可以使用Canvas.ZIndex屬性來改變它們之間的顯示順序。值越大顯示的越前
Canvas佈局也有其自身缺點,它使用於其中包含的UI元素比較固定的情形,如果你想向其中添加更多的控制項,或者UI元素需要改變大小或能隨著流覽器視窗的大小進行改變,此時Canvas就顯得有些力不從心。我們只能通過編寫代碼來控制UI元素的位置來應付這種動態的場景,這將是一件極其費時又費力的事情。更好的辦法通常使用其他帶有相關功能的內建語義的佈局面板,如StackPanel和Grid
<Canvas >
<Button Canvas.Top="15" Canvas.Left="15"
Canvas.ZIndex="30" Content="按钮定位_前声明"></Button>
<Button Canvas.Top="10" Canvas.Left="10" Content="按钮定位_后声明"></Button>
</Canvas>
相對佈局
StackPanel
StackPanel控制起來比較簡單,并沒有其他的設置。顯然,StackPanel不適合對整個頁面驚醒佈局,他適合對頁面上某一個很小的部份進行控制。
<StackPanel Orientation="Horizontal"> <Button Content="O(∩_∩)O哈哈~" Margin="10" Width="90" Height="30"></Button> <Button Content="O(∩_∩)O哈哈~" Margin="10" Width="90" Height="30"></Button> <Button Content="O(∩_∩)O哈哈~" Margin="10" Width="90" Height="30"></Button> </StackPanel>Grid
Grid控件是SilverLight中最強大靈活的佈局面板,它支持用多行和多列的方式排布頁面元素,與HTML裏的Table相似,不同的是,他不需要講UI元素內嵌到元素表格中,而是通過<Grid.RowDefinitions>和<Grid.ColumnDefinitions>屬性來定義Grid的行和列。這連個屬性要在<Grid>標籤內,然後就可以使用XAML的附件屬性語法制定UI元素屬於哪一行、那一列。索引是從0開始
<Grid> <Grid.RowDefinitions> <RowDefinition Height="30"></RowDefinition> <RowDefinition Height="30"></RowDefinition> <RowDefinition Height="30"></RowDefinition> <RowDefinition Height="30"></RowDefinition> <RowDefinition Height="30"></RowDefinition> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="90"></ColumnDefinition> <ColumnDefinition Width="90"></ColumnDefinition> <ColumnDefinition Width="90"></ColumnDefinition> <ColumnDefinition Width="90"></ColumnDefinition> <ColumnDefinition Width="90"></ColumnDefinition> <ColumnDefinition Width="90"></ColumnDefinition> <ColumnDefinition Width="*"></ColumnDefinition><!--自动适应--> </Grid.ColumnDefinitions> <Button Content="你" Grid.Row="3" Grid.ColumnSpan="2"></Button><!—合併單元格--> <Button Content="是" Grid.Row="4"></Button> <Button Content="你" Grid.Row="3" Grid.Column="6" Grid.RowSpan="2"></Button> </Grid>边距Margin
一般来说,有3中设置方式
壹.如果左、上、右、下 4个方向的空白呢便要设置相同值可以使用 Margin=”10”
贰.左右2边以及上下2边相同,可以用逗号分开2个数值来设置 Margin=”10,15”
参.4个方向边不一致,需要使用逗号分隔4个数值进行设置,顺序左、上、右、下
边框
Border对象,可以轻鬆在另一元素周围绘製边框或背景,嵌套的子元素必须从UIElement派生。同时还可以指定他的一些基本属性,如Width、Height、BorderThickness及BackGround。设置CornerRadius属性将边框的角改为圆角并通过Padding属性在Border中定位对象。
<Border Grid.Column="4" Grid.RowSpan="3" CornerRadius="10" Background="Red" Margin="10" Padding="20"> <TextBlock Text="悲催啊"></TextBlock> </Border>注意:使用Border元素時,須要注意,一個Border只能有唯一的直接子元素。如果想在Border內放入多個元素,必須先將一個容器(如Canvas 或 StackPanel容器)放入該Border元素內,軟后再將多個元素放入該容器對象內。
silverlight_容器的更多相关文章
- docker——容器安装tomcat
写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...
- 网页提交中文到WEB容器的经历了些什么过程....
先准备一个网页 <html><meta http-equiv="Content-Type" content="text/html; charset=gb ...
- [Spring]IoC容器之进击的注解
先啰嗦两句: 第一次在博客园使用markdown编辑,感觉渲染样式差强人意,还是github的样式比较顺眼. 概述 Spring2.5 引入了注解. 于是,一个问题产生了:使用注解方式注入 JavaB ...
- 深入理解DIP、IoC、DI以及IoC容器
摘要 面向对象设计(OOD)有助于我们开发出高性能.易扩展以及易复用的程序.其中,OOD有一个重要的思想那就是依赖倒置原则(DIP),并由此引申出IoC.DI以及Ioc容器等概念.通过本文我们将一起学 ...
- Docker笔记一:基于Docker容器构建并运行 nginx + php + mysql ( mariadb ) 服务环境
首先为什么要自己编写Dockerfile来构建 nginx.php.mariadb这三个镜像呢?一是希望更深入了解Dockerfile的使用,也就能初步了解docker镜像是如何被构建的:二是希望将来 ...
- JS判断鼠标进入容器方向的方法和分析window.open新窗口被拦截的问题
1.鼠标进入容器方向的判定 判断鼠标从哪个方向进入元素容器是一个经常碰到的问题,如何来判断呢?首先想到的是:获取鼠标的位置,然后经过一大堆的if..else逻辑来确定.这样的做法比较繁琐,下面介绍两种 ...
- docker4dotnet #2 容器化主机
.NET 猿自从认识了小鲸鱼,感觉功力大增.上篇<docker4dotnet #1 前世今生&世界你好>中给大家介绍了如何在Windows上面配置Docker for Window ...
- 深入分析Spring 与 Spring MVC容器
1 Spring MVC WEB配置 Spring Framework本身没有Web功能,Spring MVC使用WebApplicationContext类扩展ApplicationContext, ...
- Set容器--HashSet集合
Set容器特点: ① Set容器是一个不包含重复元素的Collection,并且最多包含一个null元素,它和List容器相反,Set容器不能保证其元素的顺序; ② 最常用的两个Set接口的实 ...
随机推荐
- SSTABLE简介
SSTABLE数据组织:http://blog.csdn.net/tankles/article/details/7663905
- 基于Zabbix IPMI监控服务器硬件状况
基于Zabbix IPMI监控服务器硬件状况 zabbix ipmi 公司有多个分部,且机房没有专业值班,机房等级不够.在这种情况下,又想实时监控机房环境,于是使用IPMI方式来达到目的.由于之前已经 ...
- java发送email
package com.assess.util; import java.io.File; import java.util.ArrayList; import java.util.List; imp ...
- php结合redis实现高并发下的抢购、秒杀功能
抢购.秒杀是如今很常见的一个应用场景,主要需要解决的问题有两个:1 高并发对数据库产生的压力2 竞争状态下如何解决库存的正确减少("超卖"问题)对于第一个问题,已经很容易想到用缓存 ...
- kendo ui简介
Kendo UI Web包含所有创建高速HTML5 web app的必备元素:UI组件.数据源.验证.一个MVVM框架.主题.模板等等. 移动HTML5带UI的开发框架层出不穷,常见的有Sencha ...
- CSS实现背景透明,文字不透明(兼容各浏览器)
在 FF/Chrome 等较新的浏览器中可以使用css属性background- color的rgba轻松实现背景透明,而文字保持不透明.而IE6/7/8浏览器不支持rgba,只有使用IE的专属滤镜f ...
- p2p网贷平台设计简析
以我之前主持开发的一个商业产品:p2p网贷为例进行分析.整个的概况,可以参见:www.huixinp2p.com(目的只会技术交流) 界面可以直接参考前期博客:http://www.cnblogs.c ...
- 由12306动态验证码想到的ASP.NET实现动态GIF验证码(附源码)
背景: 12306网站推出“彩色动态验证码机制”,新版验证码不但经常出现字符叠压,还不停抖动,不少人大呼“看不清”,称“那个验证码,是毕加索的抽象画么!”铁总客服则表示:为了能正常购票只能这样.而多家 ...
- qq菜单的折叠与展示
敲出每个小例子是一种进步 html结构: <body> <ul id="list"> <li class="lis"> &l ...
- jsonp 跨域请求
背景: JavaScript是一种在Web开发中经常使用的前端动态脚本技术.在JavaScript中,有一个很重要的安全性限制,被称为"Same-Origin Policy"(同源 ...