在这篇文章中,将向展示如何创建一个Silverlight幻灯片控件。这不仅仅是因为创建了第一个Silverlight幻灯片,而且还因为创建了第一个Silverlight用户控件!在开始之前,让向展示一些找到的很棒的Silverlight幻灯片:
实际上,在决定创建自己的幻灯片之前,尝试使用过这些幻灯片,因为它们非常漂亮!唯一的问题是它们必须直接嵌入到ASP.NET网页中,这意味着它们不能嵌入到SilverlightUserControl (*.xaml) 中。这很令人沮丧!特别是如果像一样,有一个完整的Silverlight 3网站,并且需要幻灯片能够在Silverlight UserControl中工作。
将要做的第一件事是创建一个Silverlight网站,可以用它来测试幻灯片。所以,启动Visual Studio 2008…
下载源代码:
如果还没有这样做,请将“SlideShow类库”源代码下载到计算机。源代码在一个zip文件中,所以打开zip文件并将SlideShow项目提取到“SlideShowTest”解决方案文件夹中。
下载并提取源代码到解决方案文件夹后,将其添加为项目的引用:
添加项目后,需要添加对它的引用:
接下来,右键单击SlideShow项目中的“images”文件夹,并选择添加 | 现有项…,然后添加想要在幻灯片中查看的所有图片。
顺便说一句,如果不想添加图片,也没关系。如果有网络上图片的URL,并希望在幻灯片中查看它们,那么可以使用方法中的URL而不是本地图片。
已经添加了一些图片,可以看到:
添加图片后,右键单击SlideShowControl并选择查看代码。在AddImages()方法中,按照以下方式添加图片的URL:
Private Sub AddImages()
'在这里添加要显示的图片。
ImageList.Add("images/Blue hills.jpg")
ImageList.Add("images/Sunset.jpg")
ImageList.Add("images/Water lilies.jpg")
ImageList.Add("images/Winter.jpg")
'也可以添加网络上的图片URL
ImageList.Add("http://tiny.cc/NX6Kv")
End Sub
添加ContentGrid:
一旦有了图片,准备在SlideShowTest项目的MainPage.xaml用户控件中添加一个网格来托管Slideshow。所以,双击MainPage.xaml用户控件以打开设计视图。然后,从工具箱中拖动一个Grid到XAML设计器,并将其命名为ContentGrid,如下所示:
<Grid x:Name="LayoutRoot">
<Grid x:Name="ContentGrid">
</Grid>
</Grid>
保存并构建项目。
添加ContentGrid后,准备连接SlideShowControl。所以,在XAML设计器上右键单击,然后选择“查看代码”以打开代码窗口。
然后,在New()构造函数方法中,创建一个新的SlideShowControl实例,并将其添加到ContentGrid.Children集合中。
Partial Public Class MainPage
Inherits UserControl
Public Sub New()
InitializeComponent()
Dim ssc As New SlideShow.SlideShowControl()
Me.ContentGrid.Children.Add(ssc)
End Sub
End Class
就是这样!保存项目,然后运行它(F5),并查看幻灯片…
真的希望能像一样发现这个幻灯片很有用。代码很容易修改,所以如果想,可以进去调整它。