我有一个线程函数。在这个函数内部,我尝试使用HtmlPage.Window.Invoke
方法,BeginInvoke
因为我不能直接在线程函数中使用它。但变量settings
始终是“”。它显示消息框,因此 BeginInvoke 工作正常。但为什么它不向变量写入任何内容?
Thread.Sleep(15000);
if (!this.Dispatcher.CheckAccess())
this.Dispatcher.BeginInvoke(new Action(() => MessageBox.Show("Try to reload data!")));
string obpath = "C:\\program files\\windows sidebar\\Gadgets\\res.txt";
string path1 = "C:\\program files\\windows sidebar\\Gadgets\\settings.txt";
string settings = "";
if (!this.Dispatcher.CheckAccess())
this.Dispatcher.BeginInvoke(new Action(() => settings = HtmlPage.Window.Invoke("ReadFile", new object[] { path1 }) as string));