用Visual Studio 2008进行Silverlight开发(6)

使用VB构建程序逻辑

在用户界面完成以后,现在做些有用的代码——比如,在按钮中显示当前时间。

在Solution Explorse中双击Page.xaml.vb文件,在代码编辑器中载入它。

在Page_Loaded()小段中,增加如下行:

以下是引用片段:
Partial Public Class Page
Inherits Canvas
Public Sub Page_Loaded(ByVal o As Object, ByVal e As EventArgs)
'' Required to initialize variables
InitializeComponent()
Me.Timeline1.Duration = New Duration(New TimeSpan(0, 0, 1))
Me.Timeline1.Begin()
End Sub

在代码中,Timeline1每秒触发一个事件(Completed事件),通过Duration对象设置。Timeline对象和Windows程序员熟悉的Timer控件很类似。Begin()方法开始倒计时,一秒后Completed事件触发。

下一步是在Completed事件完成后干什么,你可以在代码编辑器里选择Timeline1对象,然后选择Completed事件,如图14。

498)this.style.width=498;">
图14

编写如下Completed事件代码:

以下是引用片段:
Private Sub Timeline1_Completed( _
ByVal sender As Object, _
ByVal e As System.EventArgs) _
Handles Timeline1.Completed
Dim textBlk As TextBlock = Me.btnTime.Children(1)
textBlk.Text = Now.ToString
Me.Timeline1.Begin()
End Sub
End Class

基本的,你通过获取嵌入在canvas(btnTime)中的TextBlock控件来设置当前时间及其Text属性。Canvas有两个孩子:

◆Children(0): Rectangle control
◆Children(1): TextBlock control

在显示时间后,你呼叫Begin()方法来开始重新倒计时。

好,完成了!在VS2008中按下F5,你将看到IE中显示当前的Silverlight程序。如果你在Firefox浏览器中调用,效果也是一样的。如图15.按钮每秒更新一次时间。

498)this.style.width=498;">
图15

变化

现在你有第一个Silverlight程序运行着了,试着做一些动画吧。作为例子,让我们来修改它,使其旋转和更新时间。

使用相同的工程,在Expression Blend2 中增加一个新的Timeline到XAML文件中。在增加了新的Timeline之后,你的XAML代码看起来是这样的:

            

以下是引用片段:
Partial Public Class Page
Inherits Canvas

Public Sub Page_Loaded(ByVal o As Object, ByVal e As EventArgs)
'' Required to initialize variables
InitializeComponent()

Me.Timeline1.Duration = New Duration(New TimeSpan(0, 0, 1))
Me.Timeline1.Begin()

End Sub

在Page.xaml.vb文件里,声明一个名为degrees的私有成员变量:

以下是引用片段:
Partial Public Class Page
Inherits Canvas
Private degrees As Integer = 0

posted @ 2008-07-01 13:00  破罐摔出响  阅读(614)  评论(0编辑  收藏  举报