本文的介绍了基于silverlight的应用程序的主要特点。文中包括了创建一个基于silverlight的应用程序的代码代码示例,这将会是你编写代码的开始。
本文要点:
l 预先准备条件
l Silverlight集成到应用程序
l XAML
l 布局、设计
l 控件
l 添加逻辑代码
l 多动态语言
l 图像技术
l 多媒体与动画
l 数据
l 网络
l 基于silverlight的类库
l 其它相关主题
预先准备条件
本文中的所有示例都可以运行安装有“silverlight2BETA2运行时”的电脑上。然尔,如果你想修改这些示例,那就需要在以下基础上进行:
l Silverlight 2 beta 2
l Silverlight 2 Beta 2 SDK
l Visual Studio 2008
l Silverlight Tools Beta 2 For Visual studio 2008
注意事项:
本文假定你使用vs2008来创建应用程序。也可以不用visual Studio来创建“基于silerlight的应用程序”,比如:MSBuild。 想要获得更多信息,请看:Developing a Silverlight Application Assembly
Silverlight集成到应用程序一个基于silverlight的应用程序可以(满足)被在静态页面中silverlight插件调用。Silverlight插件可以填充整个HTML页面 或 仅填充一部分空间。在默认情况下,visual studio项目 允许插件占整个页面(高宽均为100%)。 更多的细节请参照:Instantiating a Silverlight Plug-In (Silverlight 2)
如果你只想用silverlight来作为应用程序的一部分,你可能想在你的silverlight代码中调用静态页面,反之亦然。更多的实现细节请参照:HTML Bridge: Interaction Between HTML and Managed Code。如果你有动态的asp.net页面存在,你可以插入一个madiaPlayer控件或Silverlight服务器控件在你的网页当中。更多的信息请看:Integrating Silverlight with ASP.NET Web Pages
XAML你可以用,一种说性的标记语言Xaml,去为你的silverlight应用程序定义UI元素(呈现标记)。当你创建一个新的visual studio项目,一个后缀名为.xaml的文件会自动创建。在XAML文件中,你可以创建许多实体并且用XML标签和属性定义它们的性质。关于于XAML更多的信息,请参照XAML Overview (Silverlight 2) 。
这里有一个创建一个红色矩形的简单的XAML语句 。
| |
<Rectangle Fill="Red" WIDth="150" Height="100"/> |
Container | Description |
Canvas [ http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas(VS.95).aspx ] | position child elements absolutely in x,y space. |
StackPanel [ http://msdn.microsoft.com/en-us/library/system.windows.controls.stackpanel(VS.95).aspx ] | position child elements relative to one another in horizontal or vertical stacks. |
Grid [ http://msdn.microsoft.com/en-us/library/system.windows.controls.grID(VS.95).aspx ] | position child elements in rows and columns. |
XAML |
<GrID ShowGrIDlines="True"> <GrID.ColumnDeFinitions> <ColumnDeFinition/> <ColumnDeFinition/> </GrID.ColumnDeFinitions> <GrID.RowDeFinitions> <RowDeFinition/> <RowDeFinition/> </GrID.RowDeFinitions>
<Rectangle Fill="Red" WIDth="150" Height="100" GrID.Column="1" GrID.Row="1"/> </GrID>
|
XAML Copy Code |
<GrID ShowGrIDlines="True"> <GrID.ColumnDeFinitions> <ColumnDeFinition/> <ColumnDeFinition/> </GrID.ColumnDeFinitions> <GrID.RowDeFinitions> <RowDeFinition/> <RowDeFinition/> </GrID.RowDeFinitions> <button Height="25" WIDth="100" GrID.Column="0" GrID.Row="0"/> <Rectangle Fill="Red" WIDth="150" Height="100" GrID.Column="1" GrID.Row="1"/> </GrID> |
XAML Copy Code |
<button Height="25" WIDth="100" GrID.Column="0" GrID.Row="0" Click="button_Click"/> <Rectangle x:name="rect1" Fill="Red" WIDth="150" Height="100" GrID.Column="1" GrID.Row="1"/>
|
C# Copy Code |
private voID button_Click(object sender,RoutedEventArgs e) { rect1.Fill = new SolIDcolorBrush(colors.Blue); }
|
XAML Copy Code |
<Rectangle x:name="rect1" WIDth="150" Height="100" GrID.Column="1" GrID.Row="1"> <Rectangle.Fill> <linearGradIEntBrush> <GradIEntStop Offset="0" color="lightBlue"/> <GradIEntStop Offset="0.4" color="Blue"/> <GradIEntStop Offset="0.8" color="Purple"/> <GradIEntStop Offset="1.0" color="Lavender"/> </linearGradIEntBrush> </Rectangle.Fill> </Rectangle>
|
XAML Copy Code |
<GrID ShowGrIDlines="True"> <GrID.ColumnDeFinitions> <ColumnDeFinition/> <ColumnDeFinition/> </GrID.ColumnDeFinitions> <GrID.RowDeFinitions> <RowDeFinition/> <RowDeFinition/> </GrID.RowDeFinitions>
<GrID.Resources> <Storyboard x:name="AnimateRectangle"> <DoubleAnimation Storyboard.Targetname="rect1" Storyboard.TargetProperty="Height" From="0" To="100" autoReverse="True" Duration="0:0:02" RepeatBehavior="Forever"/> <DoubleAnimation Storyboard.Targetname="rect1" Storyboard.TargetProperty="WIDth" From="0" To="100" autoReverse="True" Duration="0:0:04" RepeatBehavior="Forever"/> </Storyboard> </GrID.Resources>
<button Height="25" WIDth="100" GrID.Column="0" GrID.Row="0" Content="Stop" Click="button_Click"/> <Rectangle x:name="rect1" WIDth="150" Height="100" GrID.Column="1" GrID.Row="1" Loaded="OnLoaded"> <Rectangle.Fill> <linearGradIEntBrush> <GradIEntStop Offset="0" color="lightBlue"/> <GradIEntStop Offset="0.4" color="Blue"/> <GradIEntStop Offset="0.8" color="Purple"/> <GradIEntStop Offset="1.0" color="Lavender"/> </linearGradIEntBrush> </Rectangle.Fill> </Rectangle> <button Height="25" WIDth="100" GrID.Column="0" GrID.Row="1" Content="Start" Click="button_Click_1"/>
</GrID>
|
C# Copy Code |
private voID OnLoaded(object sender,RoutedEventArgs e) { AnimateRectangle.Begin(); }
private voID button_Click(object sender,RoutedEventArgs e) { AnimateRectangle.Pause();
} private voID button_Click_1(object sender,RoutedEventArgs e) { AnimateRectangle.Resume(); } |
评论列表(0条)