0

我是 windows phone 开发的新手,我想知道 WP7 中是否有类似 timedelay 的东西。

因为我想在图像完全加载后几秒钟后显示弹出窗口(比如 5 秒后我需要自动打开一个弹出窗口)而不点击任何按钮。

到目前为止,我正在这样做,但它会在图像加载后立即打开 Popup。

 Public Sub New()
    InitializeComponent()
    photoChooserTask = New PhotoChooserTask()
    AddHandler photoChooserTask.Completed, AddressOf photoChooserTask_Completed
 End Sub
 Dim photoChooserTask As PhotoChooserTask

添加图片:

 Private Sub AddImage_Click(sender As System.Object, e As System.EventArgs)
        Try
            photoChooserTask.Show()

        Catch ex As System.InvalidOperationException

            MessageBox.Show("An error occurred.")
    End Try
 End Sub

加载图像后:

 Private Sub photoChooserTask_Completed(sender As Object, e As PhotoResult)

        If e.TaskResult = TaskResult.OK Then
            'Code to display the photo on the page in an image control named myImage.
            Dim bmp As System.Windows.Media.Imaging.BitmapImage = New System.Windows.Media.Imaging.BitmapImage()
            bmp.SetSource(e.ChosenPhoto)
            myImage.Source = bmp
        End If

  Dim popup As New Popup()
        popup.VerticalOffset = 140
        Dim control As New PhonePage3()
        popup.Child = control
        popup.IsOpen = True
    End Sub
  End Sub
4

1 回答 1

3

这很容易,为您的任务使用 Timer 类 (http://msdn.microsoft.com/en-us/library/system.threading.timer.aspx)。

创建计时器:

Timer myTimer = new Timer(OnTimerDone);

启动计时器以在 5 秒(5000 毫秒)内获得回调:

myTimer.Change(5000, Timeout.Infinite);

定义回调函数:

private void OnTimerDone(object state)
{
    // your code here
}

就是这样 :-) 对不起 C# 代码,但我认为将它翻译成 VB 应该很容易。

于 2012-03-07T10:15:40.857 回答