Windows Phone 7-如何在循环时更新UI



如何从while、foreach、for等循环更新Windows Phone应用程序中的UI?

您是否考虑过为此使用额外的线程?

public MainPage()
        {
            InitializeComponent();
            Thread thread = new Thread(() => ReadFile(/*params*/));
            thread.Start();
        }
        private void ReadFile(/*params*/)
        {   
            while(/*condition*/)
            {
                /* READ FILE */
                //send task to UI thread to add object to list box
                Dispatcher.BeginInvoke(() => listBox1.Items.Add("YOUR OBJECT"));
            }
        }

长期操作发生在非UI线程中,是什么使得该UI线程不会被冻结。在每个循环迭代中,非UI线程通过Dispatcher.BeginInvoke向UI线程发送操作,以将新对象添加到列表框中。

最新更新