WEB开发网
开发学院图形图像Flash Silverlight中的大小控制-像素和比例缩放 阅读

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

 2008-10-23 11:44:09 来源:WEB开发网   
核心提示:最近在学习Silverlight,也在准备考六级,Silverlight中的大小控制-像素和比例缩放,同时在网上找到的一些Silverlight的教程都是beta1的,在正式版中有很多的问题,同时将以1:3的相同比例进行改变,小测验下面的代码中有一组和另外两组不相同,所以尝试着通过翻译Jesse Liberty的博客来

最近在学习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文件中需在数值后加"*"。

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

当行高用带星号的形式表示出来时,默认的单位将不再是像素,而是比例值。所以上面指明上行行高是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 大小 控制

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接