在silverlight中刷新似乎是文本框

时间:2013-04-09 19:26:59

标签: c# silverlight windows-phone-7

对于Windows Phone,似乎有一些命令txtBox.Text.Refesh()

1 个答案:

答案 0 :(得分:0)

在我回复之前......正如HighCore在评论中建议的那样 - 你可能做错了 - 你应该改变你的工作方式以适应更多的框架。那说..

你可以通过多种方式实现这一目标,但这里有两个相当简单的方法。

  1. 选项1:奇特的方式。
  2. 下载并安装异步CTP。这将允许您使用async / await语义。

    做这样的事情:

    async void Button_Click()
    {
    for (int i = 0; i < 100; i++)
    {
    textbox.Text = i.ToString();
    await Task.Delay(1000);
    }
    }
    
    1. 选项2:Good'ol方式。
    2. 如果您不想安装异步CTP,请按以下方式重构代码:

      void Button_Click()
      {
        int i = 0;
        var t = new DispatcherTimer();
        t.Interval = TimeSpan.FromSeconds(1);
        t.Tick += (s, e) => { textbox.Text = i.ToString; i++; if (i == 20) t.Stop(); };
        t.Start();
      }
      

      请注意,当此代码运行时,您的应用仍会保持响应,这意味着用户可能会激活您不希望他们使用的代码。