wpf多线程问题?
wpf中<frame source="page.xaml">page.xaml中有此句:
System.Threading.Thread.Sleep(5000);
窗体加载的时候会整个冻住
如果这么写:
Thread newWindowThread = new Thread(new ThreadStart(frame_movie1));
newWindowThread.SetApartmentState(ApartmentState.STA);
newWindowThread.IsBackground = true;
newWindowThread.Start();
private void frame_movie1()
{
qq q = new qq();
this.Dispatcher.Invoke(new Action(() =>
{
this.mf.Content = q;}));
}
}
会出错,说不在一个线程。。。
如果这么写
delegate void make_frame();
make_frame make_frame_movie = frame_movie1;
make_frame_movie.BeginInvoke(null, null);
还会出错,说线程不是SAT
这是为什么啊
我只是想给frame加载page页的时候做一个会显示正在加载的提示,然后我希望page页可以独立的运行在一个线程上,要怎么做呢?
--------------------编程问答-------------------- 没人来看看吗,自己顶个先 --------------------编程问答-------------------- 还是没人答,继续顶个 --------------------编程问答-------------------- 参考 --------------------编程问答-------------------- 有没有人,给个简单的例子呀 --------------------编程问答-------------------- 我佩服,没玩过。 路过学习。 --------------------编程问答-------------------- 继续看,有没人有更多的资料~~~~~ --------------------编程问答--------------------
是不是是因为你new qq对象和执行的Action委托不是一个线程吧。
应该吧new qq也放在委托中呢? --------------------编程问答-------------------- 我黑了,我就是想把new qq放在另一个线程 --------------------编程问答-------------------- 看看这个 。。。
http://msdn.microsoft.com/zh-cn/library/ms741870.aspx
补充:.NET技术 , .NET Framework