SynchronizationContext

/// <summary>
    /// MainWindow.xaml 的交互逻辑
    /// </summary>
    public partial class MainWindow : Window
    {
        SynchronizationContext _uiContext = SynchronizationContext.Current;
        public MainWindow()
        {
            InitializeComponent();
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            ThreadPool.QueueUserWorkItem(new WaitCallback(this.Start));
        }

        public void Start(object stat)
        {
            //工作线程
            for (int i = 0; i < 10; i++)
            {
                Thread.Sleep(1000);
                this._uiContext.Post(this.UpdateUI, "line:" + i.ToString());
            }
        }

        public void UpdateUI(object stat)
        {
            //UI线程
            this.lst.Items.Add(stat.ToString());
        }
    }

  

posted @ 2013-12-05 00:49  Xsi64  阅读(192)  评论(0编辑  收藏  举报