Я использую следующий код в моем проекте WPF:
Task.Factory.StartNew(
() =>
{
if (Keyboard.Modifiers == ModifierKeys.Alt) // <- Here
Thread.Sleep(1000);
})
.ContinueWith(t =>
{
// do somthing
});
и я получу исключение InvalidOperationException:
if (Keyboard.Modifiers == ModifierKeys.Alt)
и он говорит мне:
Вызывающий поток должен быть STA, поскольку для многих компонентов пользовательского интерфейса требуется
это.
Я просто не понимаю !! Вроде простой код, но почему?