在本章中,我们将看一个Silverlight的工作示例.我们需要两件事 :
首先,我们需要一个网页. Silverlight适用于富Internet应用程序,旨在作为Web页面的一部分在Web浏览器内运行.该页面需要包含一个合适的标签来加载Silverlight插件.它还可以包含检测Silverlight是否已安装的逻辑,并且可以在缺少时提供一些后备用户界面.
我们需要的第二件事是Silverlight内容本身.本教程将重点介绍Silverlight的.NET编程模型.我们将创建一个已编译的Silverlight应用程序,其中包含XAML(我们用于定义Silverlight用户界面的模型语言)和用C#编写的.NET代码的混合.
开始使用Silverlight的最简单方法是创建一个包含HTML页面且没有服务器端代码的普通网站.让我们看一个非常简单的例子.
第1步 : 打开 Visual Studio .点击文件菜单,指向新建,然后点击项目.
第2步 : 将打开新建项目对话框.在模板下,选择 Visual C#,然后单击Silverlight .在右侧窗格中,选择Silverlight应用程序.
在硬盘上输入项目名称和位置以保存项目,然后单击确定创建项目.
Silverlight项目本身就是构建Silverlight内容,该内容只是构成整个Web应用程序的众多资产之一.
单击确定.
第3步 : 选中托管Silverlight应用程序复选框.默认是ASP.NET Web应用程序项目.
第4步 : MS-Visual Studio创建了两个项目,Silverlight项目和ASP.NET Web应用程序.现在,我们确实需要一个ASP.NET Web应用程序.您可以在 Solution Explorer 窗口中看到这一点,如下所示.
任何可以通过HTTP提供内容的东西都可以,但这是 Visual Studio ,它理解ASP.NET网络技术,所以这就是它给出的我们.
为了证明Silverlight不依赖于任何特定的服务器端技术,让我们删除这个 .aspx 文件,只留下纯静态HTML文件.
第5步 : 右键单击FirstExampleTestpage.aspx.从选项列表中,单击删除.
第6步 : 将 FirstExampleTestPage.html 设为开始页.
MainPage.xaml 文件定义Silverlight内容的用户界面.您可以直接编写XAML代码,也可以使用工具箱拖放不同的UI元素.
步骤7 : 下面给出了 MainPage.xaml 中的一个简单代码,其中 Button 和 TextBlock 在 StackPanel 中定义.
<UserControl x:Class = "FirstExample.MainPage" xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d = "http://schemas.microsoft.com/expression/blend/2008" xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable = "d" d:DesignHeight = "300" d:DesignWidth = "400"> <Grid x:Name = "LayoutRoot" Background = "White"> <StackPanel> <TextBlock x:Name = "TextMessage" Text = "Hello World!" Margin = "5"> </TextBlock> <Button x:Name = "ClickMe" Click = "ClickMe_Click" Content = "Click Me!" Margin = "5"> </Button> </StackPanel> </Grid> </UserControl>
第8步 : 此示例假定您已创建名为 ClickMe_Click 的事件处理方法.以下是 MainPage.xaml.cs 文件中的内容.
using System.Windows; using System.Windows.Controls; namespace FirstExample { public partial class MainPage : UserControl { public MainPage() { InitializeComponent(); } private void ClickMe_Click(object sender, RoutedEventArgs e) { TextMessage.Text = "Congratulations! you have created your first Silverlight Applicatoin"; } } }
第9步 : Silverlight应用程序可以在任何已安装的浏览器上运行.
第10步 : 编译并执行上述代码后,您将看到以下网页.
步骤11 : 现在,当您单击单击我按钮时,它将更新 TextBlock 中的文本,如下所示.
我们建议您通过添加更多UI元素来执行上述示例.