InvokeRequired не работает в wpf.
Правильный способ обновления элемента графического интерфейса, принадлежащего другому потоку, таков:
Объявите это на уровне модуля:
delegate void updateLabelCallback(string tekst);
Это метод обновления ярлыка:
private void UpdateLabel(string tekst)
{
if (label.Dispatcher.CheckAccess() == false)
{
updateLabelCallback uCallBack = new updateLabelCallback(UpdateLabel);
this.Dispatcher.Invoke(uCallBack, tekst);
}
else
{
//update your label here
}
}