五、使用VB.NET写逻辑代码
在建立完UI后,我们就可以为其写一些代码使其做一引起事情,如在按钮上显示当前时间。双击Solution Explorer中的Page.xaml.vb文件,代码将在编辑器中显示。在Page_Loadec()方法中,加入以下代码:
图15 在IE和FireFox中测试应用程序
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事件。Timeline对象类似于Windows开发人员熟悉的Timer控件。Begin()方法开始倒计时,在一秒之后,Completed事件被触发。
下一步是服务Completed事件,这一点非常容易做到,只需要在代码编辑器的上部选择Timeline1对象,然后选择相应的Completed事件,如图14所示。
图14 为Completed事件建立一个事件处理方法
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
我们可以对从画布上得到的TextBlock控件的Text属性设置当前的时间。这个画布有两个孩子:
Children(0): Rectangle control
Children(1): TextBlock control
在显示完时间后,我们可以再次调用Begin()方法来进行倒记数。最后在Visual Studio 2008中按F5,我们会看到在IE中显示的Silverlight应用程序。如果我们在FireFox中转载这个例子,它将显示同样的效果,如图15所示。按钮将每秒更新一次时间。
在显示完时间后,我们可以再次调用Begin()方法来进行倒记数。最后在Visual Studio 2008中按F5,我们会看到在IE中显示的Silverlight应用程序。如果我们在FireFox中转载这个例子,它将显示同样的效果,如图15所示。按钮将每秒更新一次时间。
图15 在IE和FireFox中测试应用程序