使用C#和Silverlight为WP8制作倒计时按钮的问题

时间:2015-04-13 16:18:44

标签: c# silverlight windows-phone-8

我正在为Windows Phone 8应用程序(silverlight)开发,我正在尝试在页面上创建一个用于注册的按钮,它在点击后对其内容进行倒计时,用于获取SMS验证代码并防止恶意要求。 我希望它是这样的:

原始按钮:

[发送给我验证码]

点击后:

[29s剩余...]< ---它的内容倒计时。

倒数完成后:

[再次发送给我]

而且,我希望它是异步的,因为我必须在那之后制作HTTP请求。

这是我写的代码,但它给了我一个CS0120错误,在创建了一个类的实例后,它编译,但不起作用并抛出异常。

 public partial class Register : PhoneApplicationPage
{
    private Thread newThread;
    public Register()
    {
        InitializeComponent();

        //Register iregister = new Register();             
        //newThread = new Thread(iregister.SetText);
        //I've tried these but no luck..

        newThread = new Thread(Register.SetText);
    }

    public static void SetText()
    {
        int i = 30;
       // Register iregister = new Register();
        while (i > 0)
        {

           btn_sendVeri.Dispatcher.BeginInvoke(delegate() { btn_sendVeri.Content=   i + "seconds remaining"; }); //**CS0120**
            i--; 
            Thread.Sleep(1000);
        }


    }

    public void Button_Click(object sender, RoutedEventArgs e)
    {
        //btn_sendVeri.IsHitTestVisible = false;
        newThread.Start(); 

          //Put httprequests here
    }

btn_sendVeri是XAML中定义的按钮。

<Button x:Name="btn_sendVeri" Content="Send Verification Code" Width="245" Height="85" Click="Button_Click" Background="#33cc66"/>

如何修复我的代码? 谢谢你的帮助。:)

0 个答案:

没有答案