Ich möchte Update(int i)
von innerhalb des Threads aufrufen. Ich benutzte BeginInvoke()
, aber es ist nicht in UWP verfügbar.So rufen Sie eine Methode im UI-Thread von einem anderen laufenden Thread in UWP auf?
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
}
}
Da die ursprüngliche Frage erwähnt Wenn Sie in einer View-Model-Klasse arbeiten, können Sie stattdessen "this.Dispatcher" verwenden. Sich auf 'MainView' zu verlassen, führt zu Pausen, wenn die App mehr als eine Ansicht hat. –
Wo würde ich diesen Code innerhalb der Task verwenden, wenn ich 'Update()' aufrufen möchte? –
@AmirHusseinNargesian Sie können dies nur innerhalb Update() -Funktion setzen und fügen Sie Ihre Logik innerhalb der Dispatch-Handler. – thunderbird