Вам нужно использовать ajax request и jQuery
//use cdn google or microsoft
Здесь есть несколько опций:
- не для ThreadPool
] threads) - через .SetApartmentState (ApartmentState.STA);
SynchronizationContext.Current
не равен нулю; если это так, используйте Send
/ Post
ISynchronizeInvoke
(может не относиться к WPF - я не уверен на 100%) Ваше мышление правильное - чтобы заставить его работать должным образом, вам нужно будет вызвать его из основного потока.
Самый простой способ? Когда вы запускаете основную форму, сохраняйте ссылку в статической переменной, видимой для вашего вызова ShowMessage (). Затем ваш ShowMessage может сделать стандарт:
if(myForm.InvokeRequired)
{
myForm.Invoke(() => ShowMessage(arg1,arg2,arg3));
return;
}
.... other code here....
Вместо непосредственного отображения окна сообщения, просто отправьте сообщение в основной поток, который сигнализирует основному потоку об отображении окна сообщения.