Silverlight中的大小控制-像素和比例缩放

     最近在学习Silverlight,也在准备考六级,同时在网上找到的一些Silverlight的教程都是beta1的,在正式版中有很多的问题,所以尝试着通过翻译Jesse Liberty的博客来提高自己,同时也希望通过这样和大家一起学习。

原文地址:http://silverlight.net/blogs/jesseliberty/archive/2008/10/21/sizing-in-silverlight-pixels-and-stars.aspx

注:Star翻译为比例缩放,找了几本字典,貌似Star也没这个意思。

     在Silverlight中,实际上所有的度量(如高、宽等)的单位都是像素,除了明确指出它们不是的时候。

     像素

     当你新建一个形状,或者设置边缘缩进,或者填充一个控件的长、宽的时候,隐式地(默认地,与显示相对)单位是像素。如:

ContractedBlock.gif ExpandedBlockStart.gif 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的相同比例进行改变。

     小测验

     下面的代码中有一组和另外两组不相同,请指出。

ContractedBlock.gif ExpandedBlockStart.gif 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>

转载于:https://www.cnblogs.com/tedbyte/archive/2008/10/22/1317213.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值