我想从线程内部调用Update(int i)
。我曾经使用BeginInvoke()
,但它在UWP中不可用。如何从UWP中的另一个正在运行的线程调用UI线程中的方法?
public class Viewmodel
{
Viewmodel()
{
//start task
var mainTask = Task.Factory.StartNew(() =>
{
MyThread();
});
}
private void MyThread()
{
int i;
while(condition)
{
//do somethings
Update(i)
}
}
private Update(int i)
{
//do somethings
}
}
既然提到了原来的问题在视图模型类中运行,您可以使用'this.Dispatcher'来代替。如果应用程序拥有多个视图,依靠“MainView”会导致中断。 –
我会在哪里使用这段代码,当我想调用'Update()'时,在Task中? –
@AmirHusseinNargesian你可以把它放在Update()函数中,并在Dispatch处理程序中添加你的逻辑。 – thunderbird