Silverlight中的大小控制-像素和比例缩放
2008-10-23 11:44:09 来源:WEB开发网最近在学习Silverlight,也在准备考六级,同时在网上找到的一些Silverlight的教程都是beta1的,在正式版中有很多的问题,所以尝试着通过翻译Jesse Liberty的博客来提高自己,同时也希望通过这样和大家一起学习。
原文地址:http://silverlight.net/blogs/jesseliberty/archive/2008/10/21/sizing-in-silverlight-pixels-and-stars.aspx
注:Star翻译为比例缩放,找了几本字典,貌似Star也没这个意思。
在Silverlight中,实际上所有的度量(如高、宽等)的单位都是像素,除了明确指出它们不是的时候。
像素
当你新建一个形状,或者设置边缘缩进,或者填充一个控件的长、宽的时候,隐式地(默认地,与显示相对)单位是像素。如:
Code
<Button Content="Button" Width="100" />
<CheckBox Content="CheckBox" Height="20" Width="75"/>
<StackPanel Orientation="Horizontal" >
<RadioButton Height="29" Width="106" Content="RadioButton1" />
<RadioButton Height="29" Width="136" Content="RadioButton2" />
</StackPanel>
<ListBox Width="100" Height="100">
</ListBox>
<Slider Width="250" Height="25"/>
<swc:Calendar Height="150" Width="200" />
从按钮的长到日历控件的高,所有上面的单位都是像素。
比例缩放
有两种方式可以设置网格的行高或者列宽,一种是用绝对值,即像素;另一种是按比例分配。当你在Blend的空白部分通过鼠标画出两行时,默认的不是通过像素绝对地定义两行的大小,两者之间是相互关联的,一个变化,另一个随之改变。在面板中会有把打开的锁来标识出来。同时在XAML文件中需在数值后加"*"。
当行高用带星号的形式表示出来时,默认的单位将不再是像素,而是比例值。所以上面指明上行行高是25%,下行行高75%;
当你将左边的锁都单击锁上时,这是的行高将变成绝对值,各自将变成一个不带星号的数字,此时的单位将变成像素。同时将以1:3的相同比例进行改变。
小测验
下面的代码中有一组和另外两组不相同,请指出。
Code
<Grid.RowDefinitions>
<RowDefinition Height="0.25*" />
<RowDefinition Height="0.75*" />
</Grid.RowDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="100*" />
<RowDefinition Height="300*" />
</Grid.RowDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="100" />
<RowDefinition Height="300" />
</Grid.RowDefinitions>
Tags:Silverlight 大小 控制
编辑录入:爽爽 [复制链接] [打 印]- ››控制css字间距和对齐方式所用属性介绍
- ››控制linux动态链接库导出函数
- ››控制Android应用程序的耗电量
- ››silverlight全屏显示图片
- ››Silverlight MVVM 模式(一) 切近实战
- ››控制软键盘显示和隐藏
- ››控制Android LED灯颜色代码
- ››Silverlight for Windows Phone 7开发系列(1):...
- ››Silverlight for Windows Phone 7开发系列(2):...
- ››Silverlight for Windows Phone 7开发系列(3):...
- ››Silverlight for Windows Phone 7开发系列(4):...
- ››控制大小 美图淘淘帮你降低网店成本
更多精彩
赞助商链接