0
私はここに何かがないと思う。私は外部ソース(通常は非UIスレッド)から呼び出す必要があるいくつかのメソッドを持つWPFフォームを持っています。フォームへの参照を取得し、Dispatcher.Invokeを介してメソッドを呼び出そうとすると、UIスレッドにマーシャリングされます。問題は、InvokeがActionを起動するときにこのコードが機能しないことです。結果は常に空文字列です(Invokeが同期であると書かれていても)。Dispatcher Invokeの結果を待つ方法を教えてください。
public string GetValueById(string id, string value)
{
Application.Current.Dispatcher.Invoke(() =>
{
var main = Application.Current.MainWindow as MainWindow;
if (main != null)
{
return main.GetValue(id);
}
});
return "";
}
私はこの作業をどのように行うかについて頭を悩ますことはできません。
return Application.Current.Dispatcher.Invoke(>)=> {etc ...}); –