UI线程:应用程序的主线程,只存在一个。
后台线程:后台线程可以多个运行
构图线程:Stortboard动画(高效性动画)
独立的本地输入线程:pivot 和panorama控件滑动(wp8特殊优化)
用到UI线程的操作(尽量不要在Ui线程上处理耗时操作)
1、处理用户的输入
2、解析XAML并创建对象
3、绘制所有元素首次呈现的视图
下面写了两个从后台线程交回Ui线程的语法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Navigation;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Shell;
using Ui线程.Resources;
using System.Threading;
namespace Ui线程
{
public partial class MainPage : PhoneApplicationPage
{
// 构造函数
public MainPage()
{
InitializeComponent();
// 用于本地化 ApplicationBar 的示例代码
//BuildLocalizedApplicationBar();
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
Thread btnThred = new Thread(new ThreadStart(DoSomeTingLongTime));
btnThred.Start();
}
public void DoSomeTingLongTime()
{
Thread.Sleep(5000);
//方法一 后台线程交回到Ui线程
//this.Dispatcher.BeginInvoke(() => MessageBox.Show("好了"));
//方法二 后台线程交回到Ui线程
Deployment.Current.Dispatcher.BeginInvoke(() => MessageBox.Show("好了"));
}
}